Das mit dem Casten sollte man sich aber auch genau überlegen und nicht als generellen UseCase abspeichern.
Es gibt Fälle, wo man das gefahrlos machen kann und andere, wo man damit auf die Nase fällt.
Generell sollte ein Interface alles das liefern was benötigt wird um damit zu arbeiten. Ansonsten fragt man einfach per
System.SysUtils.Support nach, ob da noch ein weiteres Interface unterstützt wird.
Aber es macht keinen Sinn ein Monster-Interface zu erschaffen. Besser sind dort kleine aber feine, die man dann an unterschiedliche Klassen hängen kann.
Delphi-Quellcode:
IShowView = interface
function GetVisible;
property Visible: Boolean read GetVisible;
procedure Show;
procedure Hide;
end;
IShowModalView = interface
function ShowModal: TModalResult;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)