Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: AddModuleUnloadProc und DEC

  Alt 8. Aug 2021, 15:13
Nun macht dieser ModuleUnload Code Ärger mit dem C++ Builder, der hat mit der Variable i da drin scheinbar irgend ein Problem. Die Frage für mich ist aber: wozu brauche ich den Code in ModuleUnload überhaupt? Reicht es nicht aus, dass ich diese Liste in finalization freigebe?
Die Frage ist wie sich dieser Ärger äußert. Vielleicht lässt sich das ja korrigieren.

Ja, es macht einen sehr großen Unterschied, ob du den Code vor dem Entladen des Moduls ausführst oder danach in finalization. In der Unload-Prozedur ist das Package noch nicht entladen, so dass es keine Probleme mit aus dem Hostprogramm in die Liste geschriebenen Klassen geben wird. Das finalization passiert aber erst danach (wo genau weiß ich aus dem Kopf bei Packages nicht), so dass es sein kann, dass es zu Fehlern bei der Freigabe dieser Objekte gibt.

So ähnlich ist auch der Grund weshalb man Interfaces, die zwischen Hauptprogramm und DLL ausgetauscht wurden, vor dem Entladen der DLL auf nil setzen sollte, damit es beim Beenden der Anwendung keine Schutzverletzungen gibt.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat