Delphi Compiler Error
E2177 Constructors and destructors not allowed in OLE automation section
Reason for the Error & Solution
You have incorrectly tried to put a constructor or destructor into the ‘automated’ section of a class declaration.
program Produce; type Base = class automated constructor HardHatBob; destructor DemolitionBob; end; constructor Base.HardHatBob; begin end; destructor Base.DemolitionBob; begin end; begin end.
It is not possible to declare a class constructor or destruction in an OLE automation section. The constructor and destructor declarations in the above code will both elicit this error.
program Solve; type Base = class constructor HardHatBob; destructor DemolitionBob; end; constructor Base.HardHatBob; begin end; destructor Base.DemolitionBob; begin end; begin end.
The only solution to this error is to move your declarations out of the automated section, as has been done in this example.