Zitat von
hoika:
Was ist dabei zu beachten?
Das Problem war beim "krachen", dass Delphi ja
COM-interfaces
implementiert hat, und die beim Verlassen der Methode
die ganze Klasse zerstören.
Das will ich aber vermeiden
Delphi Interfaces haben nunmal Referenzzählung.
Eine
Klasse können die nicht zerstören, aber wenn eine
Instanz hinter dem Interface einen Referenzzähler von 0 hat wird sie sich
selbst zerstören.
Du kannst dir eine eigene Basisklasse bauen, die die Referenzzählung ignoriert.
Aber Interfaces machen in Delphi eigentlich wenig Probleme wenn man sich daran hält Objekt und Interface instanzen nicht zu vermischen: Einmal Interface immer Interface, sonst ist schnell Polen offen.
Sicher wenn man weiß wo man manuell eine Referenz hinzufügen oder entfernen muss geht auch das problemlos, aber weiß es auch der nächste, der mit dem Code arbeitet?