![]() |
AccessViolation bei Form aus DLL
Hallo,
ich habe auf Basis des (hervorragenden :thumb: ) DLL-Tutorials von Assarbad mein Programm um dynamische DLLs erweitert, was auch soweit funktioniert. Nun wollte ich ein Formular in die DLL auslagern, erhalte jedoch bei Aufruf von
Code:
in der Zeile
procedure FormShowModal(parent: Pointer); stdcall;
begin frmAW0052 := TFrmAW0052.Create(nil); if Assigned(parent) then frmAW0052.SetParent(parent); frmAW0052.ShowModal; end;
Code:
eine AccessViolation, gefolgt von einer Speicheradresse.
frmAW0052 := TFrmAW0052.Create(nil);
Danach wird das Formular angezeigt. Kann es evtl. daran liegen, dass das Formular bereits beim Laden der DLL erzeugt wird? Und wenn ja, wie kann ich das verhindern? Gruß Frank |
Re: AccessViolation bei Form aus DLL
Korrektur:
Wenn ich das ganze über das Hauptprogramm aufrufe (d.h. nicht über das DLL-Projekt aus Delphi heraus), erhalte ich die Exception und das Formular wird nicht angezeigt. Ausserdem erscheint diese Exception generell beim Versuch, das Formular anzuzeigen. Gruß Frank |
Re: AccessViolation bei Form aus DLL
So,
ich habe das Problem jetzt weiter eingekreist: In der DLL befindet sich auch ein Datenmodul, das eine Tabelle beinhaltet. Die Exception entsteht, wenn ich auf das Datenmodul, z. B. mit
Code:
zugreifen will.
with dmAW0052 do begin
tblSD_Reports.Open; end; Da allerdings im Laufe der Zeit noch mehrere Tabellen bzw. Abfragen hinzukommen, brauche ich ein Datenmodul. Hat vielleicht jemand einen Tip? Gruß Frank |
Re: AccessViolation bei Form aus DLL
Problem gelöst:
Es hilft einfach unheimlich, wenn die Formulare auch erzeugt (.Create...), die man benutzen will :wall: Gruß Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 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-2025 by Thomas Breitkreuz