Das ist wie mit den 0-Arrays.
c = array[0..0] of irgendwas;
Es gibt oftmals (ich nenn sie mal) Zugriffsarrays, welche für nicht zur Datenhaltung, sondern nur zu besseren Zugriff auf einen anderen Puffer diehnen.
Also wo man dann den Record/Array nur als Pointertyp irgendwo drüberlegt, bzw. wo der Speicher z.B. über GetMem/GetMemory verwaltet wird.
In der
WinAPI findet man sowas öfters, bei dynamischen Structuren, wo die Größe und/oder der Typ des Recordendes nicht fest definiert ist.
Über diesen Dummy-Record hat man dann aber wenigstens einen Zugriff auf den Anfang der Zusatzdaten.
PS:
Record End;
ist immer 0 Byte, wärend
Array[0..0]
leider noch 1 Feld enthält.
Bei
[0..0]
gibt es aber einen Bonus ... man kann zumindestens den Typen festlegen und auch über das Array zugreifen, da bei diesem Sonderfall die Bereichsprüfung des Arrays deaktiviert ist.
Im Arraytyp ist dann zwar nur 1 Feld definiert, aber wenn man den Array als Zeigertyp nutzt, dann steht das für
[0..sovielmanwill]
.