E2055 Ungültiger Typ in Read/Readln-Anweisung (Delphi)
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.