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.