Zitat von
Apollonius:
@@rab0r: Das Problem ist relativ einfach. Wenn die
DLL entladen wird, wird der Speicher, in dem der Code stand, freigegeben. Wenn nun am Ende von WaitForSingleObject (welches in den immer noch geladenen Windows-DLLs steht) zurückgesprungen wird, ist die Rücksprungadresse somit ungültiger Speicher, also gibts ne
AV.
Ja ok so hab ich mir das schon gedacht, ich weiß nur nicht so recht, wie ich was dagegen machen kann.. In der
Dll wird eine Prozedur aufgerufen, wenn die
Dll im Programm entladen wird.. Im Moment rufe ich einfach die Terminate-Funktion meines TThread-Objekts auf. Muss ich dann vieleicht noch warten, bis der Thread sich selbst aufgeräumt hat, bis ich in der Unload-Prozedur returne? Wie mach ich sowas am Besten? Soo utopisch is es ja nun auch wieder nicht, dass eine
Dll einen Thread erstellt....
Zum Thema
COM: Meine Vermutung ist ja immernoch, dass die Syncronisation noch nicht 100% klappt, da bringt mit das Umsteigen von MMF auf
COM auch erstmal nichts...
Immernoch über Vorschläge dankbar, Groxxda