Witam. Mam problem ze złośliwością funkcji systemowej SHGetFileInfo. Alokuje w pamięci ikony jak leci, nie pozwalając wybrać co jest przydatne a co nie, a zależy mi wyłącznie na małych ikonach. O ile ten problem nie jest uciążliwy w większości zbiorów ikon programów, o tyle, np. PDF, ma już potężny zbiór ikonek. W efekcie nażarcie się przez niego kosztuje ponad 1 MB. Czy da się zmusić funkcję do oszczędniejszego gospodarowania pamięcią? Czy jest możliwe odalokowanie niechcianych ikon?
poniżej przedstawiam użyty przeze mnie kod:
ilIkony.Handle := SHGetFileInfo('', 0, PlikInfo, SizeOf(ShFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
SHGetFileInfo(PChar(Plik), Atrybut, PlikInfo, SizeOf(TSHFileInfo),
shgfi_sysiconindex or shgfi_icon or SHGFI_SMALLICON or SHGFI_USEFILEATTRIBUTES);