Wenn Du folgenden Code vor der For-Schleife einfügst, dauert auch nur 3 Sekunden, weil der Speicher in einem Mal am Stück reserviert wird (evtl. musst Du noch etwas für die Dateinamen hinzufügen, weil ich nicht weiss, was Du in
StringStrSpeichn tust):
Delphi-Quellcode:
aDateiGr := 0;
for i:=0 to aObjList.Count-1 do
begin
aFs:=TFileStream.Create(aObjList.Strings[i], fmOpenRead);
try
aDateiGr:= aDateiGr+aFs.Size+length(aObjList.Strings[i])+1;
finally
aFs.Free;
end;
end;
// Speicher wird nur einmal reserviert
aTempFs.SetSize(aDateiGr);
// Hier geht's mit Deinem Code weiter
for i:=0 to aObjList.Count-1 do