Ich würde die Procedure so schreiben :
Delphi-Quellcode:
procedure TForm1.FindFileFileMatch(Sender: TObject;
const FileInfo: TFileDetails);
var
ListItem : TListItem;
begin
ListView1.Items.BeginUpdate;
ListItem := ListView1.Items.Add;
ListItem.Caption := IntToStr(ListView1.Items.Count);
ListItem.SubItems.Add(FileInfo.Location);
ListItem.SubItems.Add(FileInfo.Name);
if LongBool(FileInfo.Attributes and FILE_ATTRIBUTE_DIRECTORY) then
ListItem.SubItems.Add('Folder')
else
begin
ListItem.SubItems.Add(FormatFileSize(FileInfo.Size));
ListItem.SubItems.Add(DateTimeToStr(FileInfo.ModifiedTime));
end;
if AnsiUpperCase(ExtractFileExt(FileInfo.Name)) = AnsiUpperCase('.mp3') then
ListItem.ImageIndex := 0
else
ListItem.ImageIndex := -1;
ListView1.Items.EndUpdate;
if not FindFile.Threaded then
Application.ProcessMessages;
end;
(nicht getestet, nur runtergeschrieben)
So sollte das Befüllen der ListView funktionieren.