Hallo
Ich lese tmp dateien aus und zeige sie in ein Listview an
zustätzlich noch das Datei-Icon
Delphi-Quellcode:
//******************************************************************************
//Haupt Function
Procedure Temp_Ordner_Anzeigen_WHU();
var
list_item_li : TListItem;
icon_list_il : HImageList;
file_info_fi : TSHFileInfo;
dateien_sl : TStringList;
folder_s : String;
i : Integer;
begin
//Icon laden
icon_list_il := HImageList(SHGetFileInfo('', 0, file_info_fi, SizeOf(file_info_fi), SHGFI_SYSICONINDEX or SHGFI_ICON));
if (icon_list_il <> 0) then
begin
Haupt_Form.Wartung_Temp_ImageList1.Handle := icon_list_il;
Haupt_Form.Wartung_Temp_ImageList1.Height := 16;
Haupt_Form.Wartung_Temp_ImageList1.Width := 16;
end;
//Alles löschen
Haupt_Form.Wartung_ListView41.Clear;
//Spezial Ordner auslesen
folder_s := Windows_System_Variable_GU('Temp');
dateien_sl := TStringList.Create;
dateien_sl.Clear;
try
Dateien_Suchen_GU(dateien_sl , folder_s, '*.*');
for i := 0 to dateien_sl.Count - 1 do
begin
Application.ProcessMessages;
//Name
list_item_li := Haupt_Form.Wartung_ListView41.Items.Add;
list_item_li.Caption := ExtractFileName(dateien_sl.Strings[i]);
//Icon
SHGetFileInfo(PChar(dateien_sl.Strings[i]), 0, file_info_fi, SizeOf(file_info_fi), SHGFI_SYSICONINDEX or SHGFI_ICON);
list_item_li.ImageIndex := file_info_fi.iIcon;
end;
finally
dateien_sl.Free;
end;
end;
nur bekomme ich jetzt den fehler Out of Resource
nehme ich
Delphi-Quellcode:
SHGetFileInfo(PChar(dateien_sl.Strings[i]), 0, file_info_fi, SizeOf(file_info_fi), SHGFI_SYSICONINDEX or SHGFI_ICON);
list_item_li.ImageIndex := file_info_fi.iIcon;
raus ist alles ok
habe ich irgendwo vergessen den speicher freizugeben?
oder was ist da falsch?
kann jemand helfen