Должно помочь, но грузить в лист 14 тысяч значений, на самом деле не вариант, лучше добавить какой-нибудь фильтр, и выводить по фильтру не более 500.
Код:
...
Items.BeginUpdate;
Clear;
count := Length(gameList) - 1;
if count > FormMain.spnMaxCount.value then
count := FormMain.spnMaxCount.value;
if count > 0 then
FormLoadScreen.Showload;
for i := 0 to count do
begin
FormLoadScreen.SetCount(i, count); //Это чисто техническая. Не обращайте внимания
li := Items.Add; //Добавляем пустой Item
li.Data := gameList[i]; //Приписываем ему объект
li.Caption := cpItems[i]; //Приписываем ему Caption
li.ImageIndex := -1; //Приписываем пустой значок
li.SubItems := sbItems[i]; //Приписываем SubItem'ы
li.SubItemImages[9] := 2; //Одному из SubItem'ов приписываем значок
end;
Items.EndUpdate;
...