E2055 Ungültiger Typ in Read/Readln-Anweisung (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Sie haben versucht, eine Variable eines unzulässigen Typs in einer Read- oder Readln-Anweisung zu lesen.

Überprüfen Sie den Variablentyp, und vergewissern Sie sich, dass kein Dereferenzierungs-, Indizierungs- oder Feldauswahloperator fehlt.


program Produce;
type
  TColor = (red,green,blue);
var
  Color : TColor;
begin
  Readln(Color);     (*<-- Hier die Fehlermeldung*)
end.

Variablen eines Aufzählungstyps können nicht direkt gelesen werden.


program Solve;
type
  TColor = (red,green,blue);
var
  Color : TColor;
  InputString: string;
const
  ColorString : array [TColor] of string = ('red', 'green', 'blue');
begin
  Readln(InputString);
  Color := red;
  while (color < blue) and (ColorString[color] <> InputString) do
    Inc(color);
end.

Die Lösung besteht darin, einen String einzulesen und diesen anschließend in einer Hilfstabelle zu suchen. Im obigen Beispiel wurde keine Fehlerprüfung durchgeführt, jeder String wird als blue behandelt. In einer Anwendung würden Sie eine Fehlermeldung ausgeben und den Benutzer zur erneuten Eingabe auffordern.