Delphi Compiler Error
E2206 Property overrides not allowed in interface type
Reason for the Error & Solution
A property which was declared in a base interface has been overridden in an interface extension.
program Produce; type Base = interface function Reader : Integer; function Writer(a : Integer); property Value : Integer read Reader write Writer; end; Extension = interface (Base) function Reader2 : Integer; property Value Integer read Reader2; end; begin end.
The error in the example is that Extension attempts to override the Value property.
program Solve; type Base = interface function Reader : Integer; function Writer(a : Integer); property Value : Integer read Reader write Writer; end; Extension = interface (Base) function Reader2 : Integer; property Value2 Integer read Reader2; end; begin end.
A solution to this error is to rename the offending property. Another, more robust, approach is to determine the original intent and restructure the system design to solve the problem.