Einzelnen Beitrag anzeigen

rab0r

Registriert seit: 11. Apr 2006
10 Beiträge
 
#17

Re: dll als Bindeglied zwischen 2 Programmen

  Alt 1. Feb 2008, 16:25
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
  Mit Zitat antworten Zitat