Delphi Compiler Error
E2257 Duplicate implements clause for interface ‘%s’
Reason for the Error & Solution
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.