Und darüber wunderst du dich?
1. High() liefert dir den höchsten Index des Arrays zurück. Und das wäre bei einem leeren Array? 0 ? nein, es ist -1 und -1 + 1 ergibt 0. Somit setzt du eine Arraygrösse von 0.
2. Length() liefert dir die Länge des Arrays - also die Anzahl der Einträge.
3. Zu 1.: Wenn du eine Schleife mit For i := Low() To High() Do hast, dann ist Low() 0 und High() muss -1 sein, sonst würde die Schleife mit i=0 durchlaufen werden, obwohl das Array kein Element hat.

Zitat von
Bart82:
Zitat:
Temp1 := (high(MyArray) + 1);
Bist du sicher, dass das funktioniert? Die Länge ist ja bis dahin noch unbekannt!
Die Länge ist nicht unbekannt - es ist eine globale Variable und somit wird sie initialisiert - und ist somit ein Array mit der Länge von 0.