Es gibt leider keinen Garbage Collector in Delphi:
Man muss den Speicher, den man allokiert (mit new) wieder Freigeben(mit Dispose). Das nilen des Pointers reicht da nicht aus, da der Wert dahinter immer noch existiert.
Normalerweise ist sowas "nur" ein Speicherleck und sollte keine
Exception werfen, aber wer weiss.
Vielleicht liegt der Fehler wo ganz anders
Also wenn ich den Buffer mit dispose freigebe dann kracht es direkt.
Warum auch immer, bekomme dann nicht mal die HauptAnwendung(Fenster geladen)
Delphi-Quellcode:
while not eof(ParseFile) do
begin
ReadLN(ParseFile, sBuffer);
AppendToLinkedList(nReading, sBuffer);
inc(nReading);
Dispose(FPBuffer);
end;
wie gesagt das problem habe ich nur mit D2009
gruss