Ich habe ein Problem.
und zwar reserviere ich Speicher für ListenElemente einfach mit new.
Code:
PBildtick = ^TBildTick;
TBildTick = record
a, b, c, d : single;
x : word;
i : array [1..30] of single;
next,back : PBildtick;
end;
das Funktioniert natürlich gut, nun mein Problem.
die Größe des Array in diesem Record ist innerhalb der Laufzeit des Programms verschieden groß.
Da das vorher nicht feststeht, reserviere ich einfach Platz für 30 Elemente.
Und das ist schlecht
DasProblem dabei ist,wenn ich dynamische Arrays verwende, und dann bei jedem Listen Element mit setlength() die Array Größe setze, dann dauert das unakzeptabel lange und ist nicht mehr brauchbar für meinen Anwendungszweck.
Code:
PBildtick = ^TBildTick;
TBildTick = record
a, b, c, d : single;
x : word;
i : array of single;
next,back : PBildtick;
end;
Meine Idee wäre jetzt, im vorraus schon jedesmal 1000 Elemente der Liste zu reservieren,
aber ich weiss nun nicht, wie ich das mit dem Dynamischen Array hinbekommen soll .
Die Array Größe soll also 10 betragen, und nun möchte ich (so schnell wie möglich) mit einem Rutsch den Speicher für 1000 solcher Elemente reservieren.
Ohne 1000 mal setlength zu benutzen. Ist das irgendwie möglich ?
Danke !