Einzelnen Beitrag anzeigen

Maekkelrajter

Registriert seit: 8. Mär 2017
Ort: Köln
118 Beiträge
 
Delphi 11 Alexandria
 
#75

AW: Cover in WMP Format

  Alt 14. Apr 2018, 22:46
@ Eweiss:

Gerade habe ich mir dein Tool PrivFramesWriter nochmal genau angeschaut. Dabei fiel mir auf, dass du eine Stringlist instantiierst, aber nicht freigibst:
Delphi-Quellcode:
procedure TForm1.btnSearchClick(Sender: TObject);
var
  List: TStringList;
  IntI: Integer;
  Mask: array[0..0] of string;
begin
  edSearchpath.Text := GetFolder(CSIDL_DRIVES, 'Select search path');
  lstSearch.Clear;

  If edSearchpath.Text <> 'then
  begin
     Mask[0] := '.mp3';
     List := TStringList.Create;

     FindMediaFiles(List, edSearchpath.Text, Mask, True);
     lblCount.Caption := IntToStr(List.Count);
     ProgressCounter:= List.Count;
     lblProgress.Caption := IntToStr(ProgressCounter);

     if List.Count > 0 then
     begin
       btnDoIt.Enabled := true;
       Setlength(failed, List.Count);
     end;

     for IntI := 0 to List.Count - 1 do
       lstSearch.Items.Add(List[IntI]);

  end;
end;

Sollte das nicht so aussehen:

Delphi-Quellcode:
procedure TForm1.btnSearchClick(Sender: TObject);
var
  List: TStringList;
  IntI: Integer;
  Mask: array[0..0] of string;
begin
  edSearchpath.Text := GetFolder(CSIDL_DRIVES, 'Select search path');
  lstSearch.Clear;
  List := TStringList.Create;
  try
    If edSearchpath.Text <> 'then
    begin
      Mask[0] := '.mp3';
      FindMediaFiles(List, edSearchpath.Text, Mask, True);
      lblCount.Caption := IntToStr(List.Count);
      ProgressCounter:= List.Count;
      lblProgress.Caption := IntToStr(ProgressCounter);
      if List.Count > 0 then
      begin
        btnDoIt.Enabled := true;
        Setlength(failed, List.Count);
      end;
      for IntI := 0 to List.Count - 1 do
      lstSearch.Items.Add(List[IntI]);
    end;
  finally
    FreeAndNil(List)
  end;
end;
Gruß LP

Geändert von Maekkelrajter (14. Apr 2018 um 23:07 Uhr)
  Mit Zitat antworten Zitat