Delphi Compiler Error
E2062 Virtual constructors are not allowed
Reason for the Error & Solution
Unlike class types, object types can only have static constructors.
program Produce;
type
TMyObject = object
constructor Init; virtual;
end;
constructor TMyObject.Init;
begin
end;
begin
end.
The example tries to declare a virtual constructor, which does not really make sense for object types and is therefore illegal.
program Solve;
type
TMyObject = object
constructor Init;
end;
constructor TMyObject.Init;
begin
end;
begin
end.
The solution is to either make the constructor static, or to use a new-style class type which can have a virtual constructor.