Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Kreuzreferenzen - selbsthaltende Interfaces

  Alt 25. Apr 2010, 08:09
Man kann das "Sklavenobjekt" auch von TContainedObject anstatt TInterfacedObject ableiten.
Objekte dieser Klasse haben keinen eigenen Referenzzähler, sondern geben die Referenzen an ihren Master weiter.
Als Konsequenz davon muss der Master alle von TContainedObject abgeleiteten Objekte manuell mit Free freigeben wenn er selbst zerstört wird.
Das Masterobjekt und alle ContainedObjekte haben nach Aussen zwar mehrere Interfacezeiger verhalten sich aber wie ein Objekt bezügl. der Referenzzählung.
Am Besten versteht man's wenn man den Sourcecode anschaut.
  Mit Zitat antworten Zitat