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.
Tja, das geht halt nicht.
Der frühere Chefentwickler von Turbo Pascal & Delphi Anders Hejlsberg ist zu Microsoft gewechselt und dort die C# Entwicklung massgeblich voran getrieben.
C# ist im Prinzip ähnlich zu Delphi nur dass die Schwächen von Delphi in C# behoben wurden.
Interfaces wurden in Delphi erst nachträglich eingebaut.
Man merkt das unter anderem daran, dass die
VCL Klassenbibliothek so gut wie keinen Gebrauch von Interfaces macht.
Interfaces sind in Delphi mehr oder weniger ein Fremdkörper geblieben.
Das bedeutet, die Delphi-Interfaces sind im Wortsinn gar keine Interfaces sondern
COM-Objektbeschreibungen (wie bei C/C++)?
Das könnte man so sagen.
In Delphi sind Interfaces eine Einbahnstrasse.
Man kann einen Objektzeiger in einen Interfacezeiger umwandeln (
iz := meinobjekt as IMeinInterface
) aber die umgekehrte Richtung ist nicht vorgesehen.