$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.