Schalte mal bei den Compiler-Optionen die Bereichsprüfung ein.
Habe ich eben gemacht (Projektoptionen / Compilieren / Laufzeitfehler > Bereichsprüfung auf True) bei Delphi 10.3
Aber es ändert sich nichts. Nur mal als Beispiel: Prüfe ich auf "f:= test[428100].Nr" dann bekomme ich "fehler" ausgespuckt oder wenn ich es mit Debug starte, dann einen Dialog mit Klasse ERageError mit der Meldung "Fehler bei Bereichsprüfung". Die bekomme ich aber auch, wenn ich die Bereichsprüfung auf False habe (also in Projektoptionen / Compilieren / Laufzeitfehler).
Bei kleineren Werten:
f:= test[40].Nr (Ergebnis 5)
f:= test[41].Nr (Ergebnis 7143538)
f:= test[200].Nr (Ergebnis 0)
f:= test[310].Nr (Ergebnis 0)
Nach meinem Verständnis sollte ab "f:= test[2].Nr" eigentlich immer "fehler" ausgegeben werden bzw. mit Debug immer so ein ERageError Dialog kommen.