Ohhh, Na gut, inzwischen ist die blöde Bereichsprüfung nun standardmäßig aktiv,
aber hätte gedacht, die schlägt hier nur auf die "reale" Speichergröße (ein Byte = 256) an.
Mal ausprobieren, ob die auch meckert, wenn man was Größeres zuweisen will.
Test := MyType(123);
[add]
Jo, Zuweisen und Vergleichen geht immernoch,
aber beim Rechnen knallt es wirklich überall.
Delphi-Quellcode:
type
MyType = (aa, bb,
cc, dd, ee);
procedure TForm2.FormCreate(Sender: TObject);
begin
var Test := MyType(5);
Test := Pred(Test);
// aka Dec(Test);
if Test = High(MyType)
then
Beep;
Test := MyType(6);
Dec(Test);
if Test = Low(MyType)
then ;
end;