Einzelnen Beitrag anzeigen

Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.207 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Eine DLL freigeben. Mit CallBack

  Alt 29. Jan 2008, 21:32
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.
  Mit Zitat antworten Zitat