Zitat von
BenjaminH:
Delphi-Quellcode:
IShape=Interface
...
IRect=Interface(IShape)
..
TRect=class(TInterfacedObject, IRect)
Var Shape:IShape;
Shape:=TRect.Create
Ich kann IShape ein Objekt, das von einem Nachfahren von IShape abgeleitet ist, nicht zuweisen?
Warum?
Die Interfaces müssen GUIDs haben, die
GUID wird
nicht autom. erzeugt (@Jesus).
Nur über die
GUID wird der Typ des Interfaces gehandhabt.
Außerdem musst du beim Implementieren eines Interfaces auch sämtliche Vorfahren dieses Interfaces angeben, die du implementieren willst.
Das nervt wie
Hölle, aber ohne gates nicht...