отладка библиотек

Автор white, 11.06.08, 11:58:01

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

white

Здравствуйте уважаемые! Кто-нибудь подскажите пожалуйста, как отладить библиотеку написанную на Delphi7, а то у меня она что -то не идет! Пример Кода:
function LibraryName: PChar; pascal;
begin
Result:='Ïðèìåð çàïîëíåíèÿ ÿ÷ååê îñíîâíîé íàäïèñè ÷åðòåæà';
end;

procedure LibraryEntry(command: WORD); pascal;

var
num, num1, note, code: String;

     iKompas:  KompasObject;
    iDoc2D:   ksDocument2D;
    iStamp:   ksStamp;

    iTextLineDynamicArray,
    iTextItemDynamicArray:  ksDynamicArray;
    iTextLineParam:         ksTextLineParam;
    iTextItemParam:         ksTextItemParam;

    numb: integer;




    k , j:integer;
    stamp    : ksStamp;
    itemParam: ksTextItemParam;
    itemFont : ksTextItemFont;
    kompasApi: KompasObject;
    ksDoc: ksDocument2D;
begin


///////////////


     iKompas:=KompasObject(CreateKompasObject);
if iKompas = nil then Exit;

iDoc2D:=ksDocument2D(iKompas.ActiveDocument2D);
if iDoc2D = nil then Exit;

if iKompas.ksReadInt('Óêàæèòå íîìåð ÿ÷åéêè îñíîâíîé íàäïèñè', 1, 1, 231, numb) = 1 then
begin
   iStamp:=ksStamp(iDoc2D.GetStamp);
   iStamp.ksOpenStamp;
   iStamp.ksColumnNumber(numb);

   iTextLineParam:=ksTextLineParam(iKompas.GetParamStruct(ko_TextLineParam));
   iTextItemParam:=ksTextItemParam(iKompas.GetParamStruct(ko_TextItemParam));

   iTextLineDynamicArray:=ksDynamicArray(iStamp.ksGetStampColumnText(numb));
   iTextLineDynamicArray.ksGetArrayItem(0, iTextLineParam);
   iTextItemDynamicArray:=ksDynamicArray(iTextLineParam.GetTextItemArr());
   iTextItemDynamicArray.ksGetArrayItem(0, iTextItemParam);

   iStamp.ksCloseStamp;

   iTextItemParam.s := note;

end;
  ////////////////////

//////////////////


      with DataModule1.IBQuery1 do
    begin
      SQL.Clear;
      SQL.Add('select nmk_note from nmk where nmk_note = :oboz');

      ParamByName('oboz').AsString := note;
      Open;
      Close;
      if recordcount <> 0 then
        begin
          SQL.Clear;
          SQL.Add('select Bar_Code from Bar_Codes left join NMK on Bar_Codes.ref_id = NMK.Nmk_id where Bar_Code_Type_id = 1');
          Open;
          Close;
          if recordcount <> 0 then
            begin
              FieldByName('Bar_Code').AsString := code;
            end
          else
            begin
             num:= 'Doc.01.';

             SQL.Clear;
             SQL.Add('select Nmk_id from NMK where Nmk_note =:Nmk_note');
             ParamByName('Nmk_note').AsString := note;
             Open;
             j := FieldByName('Nmk_id').AsInteger;
             Close;
             num1 := IntToStr(j);
             num := 'Doc.01.' + num1;
             SQL.Clear;
             SQL.Add('insert into Bar_Codes(Bar_code, Bar_Code_Type_id, Ref_id) values('+
             ':Bar_Code, :Bar_Code_Type_id, :Ref_id');
             ParamByName('Bar_Code').AsString := num;
             ParamByName('Bar_Code_Type_id').AsInteger := 1;
             ParamByName('Ref_id').AsInteger := j;
             Code:= Code_128(num);
           end;
          end
      else
          ShowMessage('?a?oa? ia iaeaai! Ii?aeoenoa, nio?aieoa ?a?oa? a aaca e iiaoi?eoa iiiuoeo!')
    end;


////////////////


  k := 1;
  KompasApi := KompasObject(CreateKompasObject);
  ksDoc := ksDocument2D(KompasApi.ActiveDocument2D);
  itemParam := ksTextItemParam(KompasApi.GetParamStruct(ko_TextItemParam));
  if (itemParam <> nil) then begin
    itemParam.Init;
    itemFont := ksTextItemFont(itemParam.GetItemFont);
    itemFont.fontName := 'BarCode';
    itemfont.SetBitVectorValue(ITALIC_OFF, true);
    itemFont.SetBitVectorValue(NEW_LINE, true);
    stamp := ksStamp(ksDoc.GetStamp);
    stamp.ksOpenStamp;
      if (stamp <> nil) then begin

       stamp.ksColumnNumber(k);
          if (itemFont <> nil) then begin

                 itemParam.s :=  Code;//IntToStr(k) + ' 2121212';
         ksDoc.ksTextLine(itemParam);
          end;
       end;
    stamp.ksCloseStamp;
  End;
End;





Exports
LibraryName name 'LIBRARYNAME',
LibraryEntry name 'LIBRARYENTRY';

begin
end.