Show: Object Pascal C++
Display Preferences

E2059 Local class, interface or object types not allowed (Object Pascal)

From Appmethod Topics
Jump to: navigation, search

Go Up to Error and Warning Messages (Object Pascal) Index

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.

Personal tools
In other languages