Einzelnen Beitrag anzeigen

Benmik

Registriert seit: 11. Apr 2009
557 Beiträge
 
Delphi 12 Athens
 
#1

Warum meckert FastMM hier ein Speicherleck an?

  Alt 19. Dez 2018, 16:47
Delphi-Version: 10.2 Tokyo
Folgender Code:
Delphi-Quellcode:
procedure TForm1.TuWas;
var i:integer;
    Txt:string;
    VerzListe:TStringList;
    PathList:TJamPathList;
begin
  ...
  PathList := TJamPathList.Create; // TJamPathList = TStringList
  VerzListe := TStringList.Create;
  VerzListe.Sorted := True;
  VerzListe.Duplicates := dupIgnore;
  Try
    ...
    For i := PathList.Count - 1 downto 0 do
      VerzListe.Add(ExtractFileDir(PathList[i]));
  Finally
    PathList.OwnsObjects := True;
    FreeAndNil(PathList);
    VerzListe.OwnsObjects := True;
    FreeAndNil(VerzListe);
  End;
Der Memory-Manager meldet:
Zitat:
This application has leaked memory. The small block leaks are (excluding expected leaks registered by pointer):

13 - 20 bytes: UnicodeString x 1
85 - 100 bytes: TJamPathList x 1
Ich bin dem Code bis in System und System.Classes gefolgt, alles verläuft ordnungsgemäß.
Ich habe die Strings der Liste manuell auf '' gesetzt und alles Mögliche - FastMM meint, da sei ein Speicherleck.
Kann das sein, dass FastMM da Unsinn berichtet?

Geändert von Benmik (19. Dez 2018 um 17:18 Uhr)
  Mit Zitat antworten Zitat