Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Dynamisches Array verursacht brutalen Fehler.

  Alt 29. Jul 2005, 15:39
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.
  Mit Zitat antworten Zitat