Delphi-Quellcode:
SHGetFileInfo(pchar(fields[7].AsString),0,fi,sizeof(fi),
SHGFI_ICON or SHGFI_SYSICONINDEX or SHGFI_TYPENAME);
li.ImageIndex := fi.iIcon; // << Hier liegt der Hund begraben
ImageIndex und iIcon sind villeicht vom selben Typ, aber dann muss ich auch fragen, was für eine ImageList du am Listview eingebunden hast. Wenn es eine normale ist solltest du evtl. vorher noch das Icon da mit rein tun. Ist es eine abgeleitete, die auf die System-Imagelist zugreift interessiert wirklich was in fields[7] so steht.