Ich dachte, jedes Interface leitet sich erst einmal von
IInterface
ab? Solange du kein
COM willst, sollte
IUnknown
da doch erst gar nicht ins Spiel kommen?
Ich habe IUnknown ja nicht verlangt, sondern der Compiler (das ist das Interface, das QueryInterface etc. enthält). Bei Delphi ist IUnknown halt mit IInterface bezeichnet.
Das konkrete Objekt muss (eher: sollte), sobald es auch nur ein Interface implementiert, sich von TInterfacedObject
als Elternklasse ableiten. Oder halt einer Klasse, die TInterfacedObject
schon irgendwo als Vorfahr hat. Denn das implementiert die Standard-Interface-Methoden wie _Release
bereits.
Ich möchte bei den Klassen vielleicht eine andere Basisklasse haben bzw. habe keinen Einfluss auf deren Basisklasse, weil die Klassen bereits vorhanden sind.
Außerdem möchte ich gern vermeiden, dass der
COM-Unterbau darunter ist. Bei C# geht das auch, warum muss Delphi unbedingt
COM ins Spiel bringen.