E2205 Interface-Typ benötigt (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Es wurde ein Schnittstellentyp erwartet, aber nicht gefunden. Häufig beruht dieser Fehler auf der Angabe eines benutzerdefinierten Typs, der nicht als Schnittstellentyp deklariert wurde.
program Produce; type Name = string; MyObject = class end; MyInterface = interface(MyObject) end; Base = class(TObject, Name) end; begin end.
In diesem Beispiel ist die Deklaration des Typs Base falsch, weil Name nicht als Schnittstellentyp deklariert ist. Dasselbe gilt für MyInterface, weil dessen Vorfahrschnittstelle nicht als solche deklariert wurde.
program Solve; type BaseInterface = interface end; MyInterface = interface(BaseInterface) end; Base = class(TObject, MyInterface) end; begin end.
Bei Auftreten dieses Fehlers überprüfen Sie am besten noch einmal den Quelltext, um festzustellen, was wirklich beabsichtigt war. Soll eine Klasse eine Schnittstelle implementieren, muss sie zuerst explizit von einer Basisklasse wie TObject abgeleitet werden. Bei einer Erweiterung können Schnittstellen nur eine einzige Schnittstelle als Vorfahr haben.
In diesem Beispiel wird die Schnittstelle korrekt von einer anderen Schnittstelle abgeleitet und die Objektdefinition gibt richtigerweise eine Basis an, so dass Schnittstellen festgelegt werden können.