Delphi besitzt doch dynamische Arrays, wieso benutzt du diese nicht?
Code (Delphi):
 
procedure SetLength ( var ArrayToChange : ArrayType; NewLength : Integer ) ;
 

Damit kann man die Größe eines Arrays bestimmten.
Also setLength(meinArray, 10); vergrößert/verkleinert das Array auf 10 Elemente.

Um den reservierten Speicher wieder freizugeben, muss man die Größe auf 0 setzen. Also setLength(meinArray, 0);.