hi,
irgendwie wird ziemlich viel Speicher verbraucht wenn ich meine prozedur (kommt gleich) auf meinem programm ausführe...
siehe Anhang.
was kann ich dagegen tun?
Ich Überschreibe das OnPaint ereignis meiner Form und so sieht die Prozedur aus:
Delphi-Quellcode:
procedure TForm2.Paint;
var
sl: TStringList;
txt: TextFile;
s: string;
begin
inherited;
if fFirstPaint then
begin
fFirstPaint := false;
sl := TStringList.Create;
try
AssignFile(txt, ExtractFilePath(Application.ExeName)+'test.txt');
Reset(txt);
while not EOF(txt) do
begin
ReadLn(txt, s);
sl.Add(s);
Caption := 'Geladene Zeilen...' + IntToStr(sl.Count);
Application.ProcessMessages;
end;
Caption := IntToStr(sl.Count) + ' Zeilen geladen';
finally
sl.Free;
end;
end;
end;
ok die textdatei selbst ist 76MB gross...
aber wieso verbrauche ich dann 110MB speicher? gibt es da ne lösung irgendwie? was wäre passiert wenn jemand nur 32mb
ram hätte?