E2257 Duplicate implements clause for interface '%s' (Delphi)

From RAD Studio
Jump to: navigation, search

Go Up to Error and Warning Messages (Delphi)

The compiler has encountered two different property declarations which claim to implement the same interface. An interface may be implemented by only one property.


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.


Both MyInterface and OtherInterface attempt to implement IMyInterface. Only one property may implement the chosen interface.

The only solution in this case is to remove one of the offending implements clauses.