Das ist eine Abwandlung von C/C++.
Da gibt es Arrays der Länge 0, was sich in Delphi aber so nicht definieren läßt, da in Delphi nicht die Länge, sondern der Bereich angegeben wird und da die Länge mindestens 1 ist.
Man hat sich quasi darauf geeinigt, daß diese
Array[0..0]
ein statisches Array ohne Längenbegrenzung darstellen.
Mir war mal so, als hätte man bei diesen Arrays die Bereichsprüfung deaktiviert, was sich leider als falsch erwiesen hat.
Bei einem neueren Delphi hättest du
{$IFOPT Q+}
gehabt, um nach dem deaktivieren des {$Q+} dieses wieder aktivieren zu können.
Nja, du kannst aber immernoch, an den Anfang dieser
Unit ein {$Q-} schreiben und gut ist.
Delphi-Quellcode:
{$IFOPT R+}
{$MESSAGE Warn 'Mit Bereichsprüfung compiliert'}
{$ENDIF}
{$UNDEF _Q}{$IFOPT Q+}{$DEFINE _Q}{$ENDIF}
mach_was_ohne_Bereichsprüfung;
{$IFDEF _Q}{$Q+}{$ENDIF}