Darum ging es mir nicht. Ich tippe darauf, dass du auf ein nicht existierendes Element des Array zugreifen willst. Dies endet typischerweise mit einer
AV. Wenn du ein statisches Array hast (array[Start..Ende] of Typ) dann hast du deine festen Elemente und kannst auch nur auf diese zugreifen. Wenn du ein dynamisches Array nimmst (array of Typ) dann hat das Array von Anfang an 0 Elemente und du musst erst mit Hilfe von SetLength() das Array aufspannen. Wenn du eine Liste haben willst, ist es einfacher, die Klasse TList zu vergewaltigen als einem Array beizubringen, selbständig zu wachsen. (Wenn du nur willst, dass das Array wächst und nicht zwischendrin Elemente rausnehmen willst, ist es mit SetLength() doch einfacher).
Mit Hilfe von ShowMessage(IntToStr(Length(DeinArray))); kannst du auslesen, wie viele Elemente das Array hat und du kannst berechnen, auf welches du zugreifen willst (Achtung: dynamische Arrays fangen mit Index = 0 an!). Wenn der berechnete Wert größer ist als die Anzahl der Elemente - 1 (für das 0. Element), dann greifst du ins Leere und der Computer mag das gar nicht.
Bernhard