Drum sagte ich ja, es gibt mehrere Möglichkeiten, welche man dann entsprechend abwegen kann.
eine Möglichkeit wäre z.B. auch das Array einfach aufzuteilen
Delphi-Quellcode:
// statt
TMyArray = Array of Data;
// dieses
TMyArray = Array of Array of Data;
Das SetLength ist dann zwar ein bissl umständlich zu erledigen, aber zugreifen könnte man dann z.B. so
(wenn man davon ausgeht, daß nach jeweils 1000 Einträgen ein neues SubArray erstellt wurde)
Delphi-Quellcode:
MyArr[i]
MyArr[i div 1000, i mod 1000]
[add]
Length würde dann etwa so aussehn
Delphi-Quellcode:
// für's normale Array
Length(MyArr)
// eine kleine Funktion für das gesplittete Array
function MyLength(var MyArr: ...): Integer;
begin
Result := High(MyArr) * 1000 + Length(MyArr[High(MyArr)]);
end;