Zitat von
geskill:
Delphi-Quellcode:
procedure TDllForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DllForm.Free;
DllForm := NIL;
// Hier muss das Callback starten
closedll(AhLib);
end;
Autsch. Du gibts ein Objekt im eigene Close-Eventhandler frei. Das wird dir sowas um die Ohren fliegen da du damit Callstack-Technisch dir eine Nirvana baust. Du könntest maximal Action auf caFree setzen und im Destruktor/OnDestroy-Event diene globale Varfiable DLLForm auf nil setzen und anschließend deinem Hauptprogramm z.B. per Windows-Message einen notifier schicken.
Und bei nicht Modalen Formularen wird die Freigabe mit Release durchgeführt und nicht mit einem Free, da sonst einige Windows-Messages ebenfalls im Nirvana landen.
Windows Vista - Eine neue Erfahrung in Fehlern.