Wenn man einen Interfacezeiger hat ist es auch nur mit Klimmzügen möglich wieder an das eigentliche Klassenobjekt zu kommen.
Das bedeutet man kann ein Objekt, dass über ein Interface referenziert wird nicht einfach mit Free
freigeben weil man über das Interface gar nicht an die Free-Methode herankommt.
Daraus folgt, dass man immer die Referenzzählung von IUnknown benutzen sollte (auch wenn man die Referenzzählung aushebeln kann und sie dabei aber weitere Schwierigkeiten einhandelt)
Das bedeutet, die Delphi-Interfaces sind im Wortsinn gar keine Interfaces sondern
COM-Objektbeschreibungen (wie bei C/C++)?
welche Möglichkeiten gibt es denn, die Interfaces wie Interfaces zu verwenden? Ich möchte gern Objekte verschiedener Klassen, die bestimmte Eigenschaften gemeinsam haben auch gemeinsam verwenden. C++ hat dafür die Mehrfachvererbung, C# die frei verwendbaren Interfaces. Das
COM dabe die Objekte einfach wegschmeißt, darf dabei natürlich nicht passieren.