Kann ich dort, wo ich meine Klassen erzeuge (und wo sie später irgendwann entfernt werden sollen) den Referenzzähler um eins erhöhen und dort, wo das Objekt definitiv nicht mehr gebraucht wird, diesen Referenzzähler herunterzählen?
Ja. Dafür sind die Methoden verantwortlich, die du von IUnknown erbst und in TInterfacedObject für dich implementiert sind.
Zitat:
Oder kann ich in meinen Klassen den Referenzzähler komplett ignorieren und den Free auf das Objekt weiterverwenden? Wäre mir ehrlich gesagt am liebsten.
Es gibt auch einen Hack über den du die Referenzzählung ausschalten kannst. Dazu musst du AFAIR den Referenzzähler im Konstruktor erhöhen. Somit wird der nie 0 und es verschwindet nix.
Du kannst die Referenzzählung aber auch nutzen. Das programmiert sich dann so ähnlich wie die Smartpointer aus C++. Hab ich noch nicht gemacht, aber es gibt manche, die das wirklich mögen. Näheres zu Interfaces liest du z.B. bei Nick Hodges.
mfg
Christian