RAD Studio (Common)
ContentsIndex
PreviousUpNext
E2257: Duplicate implements clause for interface '%s' (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.

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!