E2257 Doppelte implements-Klausel für Interface '%s' (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Der Compiler hat zwei unterschiedliche Eigenschaftendeklarationen gefunden, die beide angeben, dieselbe Schnittstelle zu implementieren. Eine Schnittstelle kann jedoch nur durch eine Eigenschaft implementiert werden.


program Produce;
type
  IMyInterface = interface
  end;

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


In diesem Beispiel versucht jede der beiden Deklarationen MyInterface und OtherInterface die Schnittstelle ImyInterface zu implementieren. Die betreffende Schnittstelle kann jedoch nur von einer Eigenschaft implementiert werden.

Die einzige Lösung besteht darin, eine der beiden implements-Klauseln zu entfernen.