Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Interface Referenzzählung

  Alt 4. Jun 2009, 12:44
Zitat von QuickAndDirty:
1. Wieso?
Weil Referenzzählung nur für Interfaces gilt. Eine Klasse die von TInterfacedObject abgeleitet ist, stellt zwar alles Notwenidge für ein Interface bereit, ist aber selbst keins.

Zitat:
2. Kann ich das Ändern?
Klar, wenn du die Referenzzählung von Hand übernimmst. Der Compiler wird dir hierbei nicht helfen.

Zitat:
3. Was passiert bei Typecasts Classe zu Interface, Interface zu classe, kommt die Refernzzählung dann durcheinander?
Bei Klasse zu Interface wird der Referenzzähler um 1 erhöht. Interface zu Klasse erlaubt der Compiler schon mal nicht (man kann sich aber Abhilfe schaffen, ändert dann aber trotzdem nichts am Referenzzähler)



Ach ja: Du hast gerade herausgefunden, warum man Interfaces mit Objektreferenzen nicht mischen soll: Die Referenzzählung spielt verrückt und die Objektreferenz oder das Interface zeigen auf ein nicht mehr vorhandenes Objekt.
  Mit Zitat antworten Zitat