Delphi Compiler Error
E2262 Implements getter must be %s calling convention
Reason for the Error & Solution
The compiler has encountered a getter or setter which does not have the correct calling convention.
program Produce; type I0 = interface end; T0 = class(TInterfacedObject, I0) function getter : I0; cdecl; property p0 : I0 read getter implements I0; end; function T0.getter : I0; begin end; end.
As you can see in this example, the cdecl on the function getter causes this error to be produced.
program Solve; type I0 = interface end; T0 = class(TInterfacedObject, I0) function getter : I0; property p0 : I0 read getter implements I0; end; function T0.getter : I0; begin end; end.
The only solution to this problem is to remove the offending calling convention from the property getter declaration.