![]() |
Probleme / Zugriffsverletzung mit dynamisch geladener BPL
Hallo zusammen!
Ich habe vor mit dynamisch geladenen Packages zu arbeiten, um ein Programm zu flexibilisieren / Programmfunktionen zu kapseln. Dabei übergebe ich eine IB_Connection an die dynamisch geladene Funktion, die im Folgenden innerhalb der geladenen BPL verwendet werden soll. Und genau dann fangen die Probleme an: Ich kann die Connection zwar der Query zuweisen und im "Auswerten/Ändern" scheinen alle Werte korrekt vorhanden zu sein, jedoch bekomme ich dann beim qry.Open eine Zugriffsverletzung. Vermutlich liegt das Problem im Speichermanagement, aber ich komme an der Stelle nicht weiter. Kann jemand das Problem diagnostizieren und weiß eventuell eine Lösung? Hier nun der relevante Quelltext der aufrufenden Exe:
Delphi-Quellcode:
Und nun die Methoden der BPL:
procedure TfrmListen.BitBtnTESTClick(Sender: TObject);
var hm: HModule; ExecF: procedure(Owner: TIB_Connection); begin hm:=LoadPackage(ExtractFilePath(ParamStr(0)) + 'TEST.bpl'); if hm <> 0 then try @ExecF:=GetProcAddress(hm, 'RUN'); if Assigned(ExecF) then begin ExecF(fsbListen.Databases.Mandant); end else begin ShowMessage ('Kein RunProgram gefunden!'); end; finally UnloadPackage(hm); end else ShowMessage ('bpl nicht gefunden'); end;
Delphi-Quellcode:
Viele Grüße
procedure RUN(Owner: TIB_Connection);
var frm: TForm1; begin frm := TForm1.Create(Owner); frm.ShowModal; end; constructor TForm1.Create(Owner: TIB_Connection); begin FOwner := Owner; inherited Create(FOwner); end; procedure TForm1.BitBtn1Click(Sender: TObject); var qry: TIB_query; begin showmessage(FOwner.DatabaseName); qry := TIB_Query.Create(FOwner); qry.IB_Connection := FOwner; qry.SQL.Text := 'select * from beharzt'; showmessage('bis hier komm ich'); qry.Open; //IB_Query1.IB_Connection := FOwner; //IB_Query1.Open; end; exports RUN; Rob PS: Das Ganze wird unter D2006 Enterprise mit IBObjects 4.8 entwickelt |
Re: Probleme / Zugriffsverletzung mit dynamisch geladener BP
HILFE?!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz