Форум: "Основная";
Текущий архив: 2009.08.30;
Скачать: [xml.tar.bz2];
Внизотладка библиотеки Найти похожие ветки
← →
Anton (2008-06-13 09:49) [0]Здравствуйте! Я тут нагородил библиотеку одну для компаса, и что-то там не так. Если кто-то что-то знает про отладку библиотеки, расскажите пожалуйста как. Может кто-нибудь захочет так посмотреть код(он не большой).
library Zapolnenie_o_n;
uses
SysUtils,
Messages,
Dialogs,
Classes,
Windows,
LDefin2D,
ksAuto,
ksConstTLB,
ksTLB,
StdCtrls, ExtCtrls,
DataUnit1 in "DataUnit1.pas" {DataModule1: TDataModule};
function Code_128(A:ShortString):ShortString; stdcall; external "S:\SAPR\Resources\BarCode\EAN13\BarCodeEAN13.dll";
{$E rtw}
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;
j:integer;
itemParam: ksTextItemParam;
itemFont : ksTextItemFont;
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
numb:=0;
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;
////////////////
numb := 1;
iKompas := KompasObject(CreateKompasObject);
iDoc2D := ksDocument2D(iKompas.ActiveDocument2D);
itemParam := ksTextItemParam(iKompas.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);
iStamp := ksStamp(iDoc2D.GetStamp);
iStamp.ksOpenStamp;
if (iStamp <> nil) then begin
iStamp.ksColumnNumber(numb);
if (itemFont <> nil) then begin
itemParam.s := Code;//IntToStr(k) + " 2121212";
iDoc2D.ksTextLine(itemParam);
end;
end;
iStamp.ksCloseStamp;
End;
End;
Exports
LibraryName name "LIBRARYNAME",
LibraryEntry name "LIBRARYENTRY";
begin
end.
← →
Loginov Dmitry © (2008-06-13 18:19) [1]> Если кто-то что-то знает про отладку библиотеки, расскажите
> пожалуйста как.
Добавляешь в Run/Parameters exe-шник компаса и запускаешь проект DLL по F9. В нужных местах ставишь точки останова. Для отладки используй кнопки F4, F7, F8.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2009.08.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c