Hier ein etwas kürzeres Beispiel:
Delphi-Quellcode:
program Project22;
{$APPTYPE CONSOLE}
uses System.SysUtils;
type
TStaticArray = array[5..10] of Integer;
var
meinArray: TStaticArray;
arrayIndex: Integer;
begin
for arrayIndex := -5 to 99 do
WriteLn( meinArray[arrayIndex] );
end.
Ohne mich dem Spott anschließen zu wollen:
Ja, eigentlich sollte man immer mit Low() und High() arbeiten statt magische Zahlen hinzutippen.
Und ja, wenn man die Bereichsprüfung aus hat bekommt man zur Laufzeit keinen Fehler.
Aber man sollte trotzdem anmerken dass es wirklich etwas ernüchternd ist dass der Compiler für so etwas offensichtliches keine Warnung ausgeben kann.