Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#19

AW: Memoryleak oder doch nicht?

  Alt 30. Mär 2018, 09:19
Denke das ist nicht so einfach zu beheben.
Bei jeden Fenster das ich erstelle muss ich die Textdatei einlesen.

Selbst wenn ich die Classe vorher zerstöre und neu erstellen lasse bleiben die strings irgendwie im Speicher.
Was dann zu dem besagten Speicherleck führt.

Das Hauptproblem ist das ich die Classe nicht zerstören kann wenn ich das Fenster schließe so bleibt immer was im Speicher zurück.
Glaube muss mein Konzept nochmal überdenken nur mit einem Array of Class ist es nicht getan.

Hmmm...

EDIT:
Musste noch kleine Änderungen hinzufügen..
Ein einfaches
FPBuffer.Str := ''
oder
finalize(FPBuffer^);
hat leider nichts gebracht die Strings waren immer noch im Speicher.

Aber so geht's.
Delphi-Quellcode:
  FPBuffer := LineStart;
  while (FPBuffer.Nr < LineStart.Max) do
  begin
    FPBuffer := FPBuffer.Ptr;
    FPBuffer.Str := '';
  end;
  Dispose(FPBuffer);
  FPBuffer := nil;
Jetzt noch den Data Kram dann sollte es gut sein.

gruss

Geändert von EWeiss (30. Mär 2018 um 10:53 Uhr)
  Mit Zitat antworten Zitat