hi!
Danke für die Antwort, aber genau das klappt eben nicht.
Folgendes: Ich erstelle mein Objekt so:
Quelltext
1: 2: 3: 4:
| var InterfaceZuMeinemObjekt:IMeinInterface; begin InterfaceZuMeinemObjekt:=TMeineKlasse.Create; end; |
Jedes andere Objekt mit einer Schnittstelle würde sich nun durch den Aufruf von
Quelltext
1:
| InterfaceZuMeinemObjekt:=NIL; |
von der GarbageCollection erfasst und freigegeben, richtig? Nicht aber mein Objekt, denn dieses hat in sich auch wieder einen TInterfacedObject-Nachfahren, der über die Eigenschaft FOwner eben eine Referenz auf das Objekt hält.
Oder meinst du, das ich dann in jedem untergeordneten Objekt erst FOwner auf NIL schalten muss? Uff, das ist aber aufwendig...
Gibt es denn keine Möglichkeit, die Lebenszeit meiner Objekte unabhängig von dieser Referenzzählung zu handhaben? Mir ist gar nicht wohl bei dem Gedanken, daß das ganze Konstrukt bestehen bleibt, nur weil irgendwo irgendein kleiner Pointer noch nicht auf NIL gesetzt wurde...
Cu,
Udontknow