Hai x000x,
Zitat von
x000x:
...
Delphi-Quellcode:
...
begin
randomize;
for i:=1 to StrToInt64(Edit1.Text) do begin
SetLength( MyListe, i );
....
....
Es sollte in jedem Fall vermieden werden das Array
innerhalb der Schleife zu vergrößern.
Wen ein Dyn-Array vergrößert wird passiert jedes mal folgendes:
1. Es wird neuer Speicher der benötigten größe reserviert
2. Die Daten werden vom alten Speicherbereich in den neuen kopiert
3. Der alte Speicherbereich wird freigegeben
Da ja
vor dem durchlaufen der Schleife die notwendige größe des Arrays bekannt ist sollte dieses auch nur einmal gesetzt werden.
Ach ja: Dyn-Arrays beginnen immer beim Index 0. Ein SetLength(MyListe, 10) ist also ein Array [0..9] of MyListe. Das muss bei den zugriffen berücksichtigt werden.
Stephan B.
"Lasst den Gänsen ihre Füßchen"