Puoi usare gli array dinamici, che possono essere dimensionati attraverso la procedura SetLength.
codice:
var
v: array of Integer;
begin
// Alloco spazio per 20 elementi
SetLength(v, 20);
v[0] := 1;
v[1] := 20;
// ...assegnazioni successive
end;
Generalmente, io preferisco di gran lunga lavorare con la classe TList, che fornisce l'implementazione di una lista (internamente basata su array); un esempio:
codice:
var
MyList: TList;
MyObject: TObject;
Index: Integer;
begin
MyList := TList.Create;
try
// Aggiungo il riferimento ad un oggetto alla lista
MyList.Add(MyObject);
// Ottengo il riferimento ad un oggetto
MyObject := TObject(MyList[Index]);
finally
MyList.Free;
end;
end;
Non ho verificato il codice sopra, che dovrebbe servire solamente a dare un'idea dei possibili utilizzi delle varie soluzioni proposte.
Ciao!