Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: Freigabe von Objekten (Observerpattern)

  Alt 21. Mai 2014, 16:02
Ich besitze ein ObjektX mit der Vererbung class(TInterfacedObject, IInterfaceX).
Dessen Referenz übergebe ich an ein normales Objekt.

...


Wenn das normale Objekt freigegeben wird, wird das ObjektX scheinbar mitgelöscht, wodurch es beim Erstellen eines neuen
normales Objekts zu einer Zugriffsverletzung kommt.
Speicherst du dein ObjectX als Objektvariable oder als Interfacevariable? Im ersten Fall hast du also nicht die Referenzzählung getriggert, so dass dein Objekt, das du es als Interface übergibst die einige gezählte Referenz hält, wirds freigegeben, tickert der RefCount auf 0 und dein ObjectX wird freigegeben.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat