Einzelnen Beitrag anzeigen

Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
677 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Richtiges Beenden/Freigeben einer (Delphi) DLL

  Alt 21. Jun 2022, 14:56
$C0000005 ist meines Erachtens ein Fehler bei dem von einer fremden Anwendung (Anwendung) auf fremden Speicher (DLL) zugegriffen werden soll.

Ich nehme an, dass das Freigeben der DLL das Finalization von verwendeten Units auslöst und dass das dafür sorgt, dass Windows denkt, hier greift jemand fremdes auf meinen DLL Speicher zu.
Zuviele unbekannte. $C0000005 ist ein Nullpointer Fehler. Wie und warum hier in dem Fall kann nur ein detailierter Fehlerreport sagen.

Ich habe noch die Vermutung, dass es mit Units zusammenhängen KÖNNTE, die einen Thread besitzen
Es wird wärmer...

Irgendwie müsste ich der DLL sagen können, dass sie sich selbst beenden soll und danach erst das FreeLibrary aufrufen.
Gute Idee!
Zu DllInit kommt noch DllShutdown, was dafür sorgt dass alles was läuft auch beendet wird und ist(!) bevor die dll entladen wird.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat