Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.359 Beiträge
 
Delphi 11 Alexandria
 
#35

AW: proceduren (Events) aus Interface

  Alt 9. Sep 2016, 10:20
Wieso bindest du an dieser Stelle beide Interfaces ein? Würde es nicht reichen nur ISkinMagneticEx einzubinden? Das Interface ist doch von ISkinMagnetic abgeleitet und kennt somit alle Funktionen? Wo liegt hier der Vorteil bzw. wieso sollte man das so machen?
Beim Cast mit as funktionierte es ohne nicht:
Delphi-Quellcode:
type
  IA = interface
    ['{8F0408FB-9757-45F0-9549-75A2751A7D0C}']
  end;
  IB = interface(IA)
    ['{22475A3F-306B-4F66-9449-A6C0A4873C9E}']
  end;
  TA = class(TInterfacedObject, IB)
  end;

//...

var
  TestA: IA;
  TestB: IB;
begin
  TestB := TA.Create;
  TestA := TestB as IA; // Interface nicht unterstützt
end;
Fügt man IA in der Klasse hinzu, geht es. (Klar könnte man in dem Beispiel direkt zuweisen ohne as.)
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat