Hallo,
ich habe ein Problem mit dem Speicher, welches mein Array braucht.
1. Wenn ich von vornerein weiß wie groß mein Array werden soll und dieses im Vorfeld auf die richtige größe setze, wird relativ wenig Speicher gebraucht
2. Wenn ich aber mein Array in der Größe immer um eins erhöhe frißt dieses unmengen von Arbeitsspeicher.
Delphi-Quellcode:
procedure TForm1.setArray; //Testbeispiel
var i: integer;
begin
//zu 1. setlength(hallo,5,StrToInt(edit1.Text)+1);
for i :=0 to strtoint(Edit1.Text) do
begin
//zu 2. setlength(hallo,5,i+1);
hallo[0,i] := 'test12345678 '+ inttostr(i);
hallo[1,i] := 'test12345678 '+ inttostr(i);
hallo[2,i] := 'test12345678 '+ inttostr(i);
hallo[3,i] := 'test12345678 '+ inttostr(i);
hallo[4,i] := 'test12345678 '+ inttostr(i);
Application.ProcessMessages;
Label1.caption := inttostr(i);
end;
end;
Gibt es eine Möglichkeit mein Array zu reorganisieren und damit den Speicherverbrauch zu senken, ohne das ich die Daten in ein weiteres Array kopieren muß, also in eins wo die größe vor der Befüllung feststeht?
Gruß
Wegalt