es ist eine schlechte Idee :
ListItem := Items.Add;
zu verwenden, da es doch sehr langsam ist und zudem auch noch begrenzt (glaub 32.000)
Du musst eine eigene interne Datenstruktur erstellen (record oder so)
und dann den Ausgabetext und Icon
erst dann darstellen, wenn das ListView danach fragt.
Bei Mike Lischkes TVirtualStringTree wird es so gemacht. Den würde ich übrigens weit mehr empfehlen als TListView.
Ist einfach schneller und mächtiger. Das Tree-Feature muss man ja net verwenden