E2058 class,interface,および object 型は型宣言部でのみ宣言できます (Delphi)
エラーと警告のメッセージ(Delphi) への移動
クラス型またはオブジェクト型は常に type 宣言部で明示的に型宣言しなければなりません。レコード型と異なり,それらの型には名前が必要です。
明示的な型宣言が必要な主な理由は,型名がないためにその型のメソッドを宣言できなくなるからです。
program Produce; var MyClass : class Field: Integer; end; begin end.
{ このコードは変数宣言の中でクラス型を宣言しようとしており,違法である }
program Solve; type TMyClass = class Field: Integer; end; var MyClass : TMyClass; begin end.
{ そのクラス型の型宣言を導入すれば解決する。あるいは,クラス型をレコード型へ変更してもよい }