Delphi Compiler Error
E2059 Local class, interface or object types not allowed
Reason for the Error & Solution
Class and object cannot be declared local to a procedure.
program Produce;
procedure MyProc;
type
TMyClass = class
Field: Integer;
end;
begin
(*...*)
end;
begin
end.
So MyProc tries to declare a class type locally, which is illegal.
program Solve;
type
TMyClass = class
Field: Integer;
end;
procedure MyProc;
begin
(*...*)
end;
begin
end.
The solution is to move out the declaration of the class or object type to the global scope.