E2265 Das Interface '%s' wird in der Liste der Interfaces nicht erwähnt (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Eine implements-Klausel verweist auf eine Schnittstelle, die in der Schnittstellenliste der Klasse nicht enthalten ist.


program Produce;
type
  IMyInterface = interface
  end;

  TMyClass = class(TInterfacedObject, IUnknown)
    FMyInterface: IMyInterface;
    property MyInterface: IMyInterface read FMyInterface implements IMyInterface;
  end;
end.


Im hier gezeigten Beispiel wird die implements-Klausel mit der Schnittstelle IMyInterface verwendet, sie ist jedoch in der Liste der Schnittstellen nicht enthalten.


program Solve;
type
  IMyInterface = interface
  end;

  TMyClass = class(TInterfacedObject, IUnknown, IMyInterface)
    FMyInterface: IMyInterface;
    property MyInterface: IMyInterface read FMyInterface implements IMyInterface;
  end;
end.


Die hier gezeigte, schnelle Lösung besteht darin, die erforderliche Schnittstelle zur Schnittstellenliste der Klassendefinition hinzuzufügen. Dies erfordert natürlich, dass die Methoden der Schnittstelle implementiert werden.