E2236 Constructors and destructors must have %s calling convention (Object Pascal)
An attempt has been made to change the calling convention of a constructor or destructor from the default calling convention.
program Produce; type TBase = class constructor Create; pascal; end; constructor TBase.Create; begin end; begin end. program Solve; type TBase = class constructor Create; end; constructor TBase.Create; begin end; begin end.
The only viable approach when this error has been issued by the compiler is to remove the offending calling convention directive from the constructor or destructor definition, as has been done in this example.