E2058 Klasse, Interface und Objekttypen sind nur im Abschnitt type erlaubt (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Klassen- und Objekttypen müssen immer mit einer expliziten Typdeklaration in einem type-Abschnitt deklariert werden. Im Gegensatz dazu können Record-Typen anonym sein.

Der Hauptgrund besteht darin, dass Sie sonst nicht die Methoden dieses Typs deklarieren könnten.


program Produce;

var
  MyClass : class
    Field: Integer;
  end;

begin
end.

In diesem Beispiel wird ein Klassentyp in einer Variablendeklaration deklariert. Dies ist nicht zulässig.


program Solve;

type
  TMyClass = class
    Field: Integer;
  end;

var
  MyClass : TMyClass;

begin
end.

Die Lösung besteht darin, eine Typdeklaration für den Klassentyp einzufügen. Sie können aber auch den Klassen- in einen Record-Typ ändern.