Also i würde ich jetzt mal nicht als globale Variable definieren. Kann man zwar machen, aber ich würde i immer als lokale variable als integer, also für z.B. Schleifen verwenden. Besser globale Variablen so zu benennen, dass man Rückschlüsse auf ihre Funktion schließen kann.
Dann du kannst nicht einfach den Count von ListView.Items auf 5 setzen. Du musst die Objecte auch erzeugen.
Delphi-Quellcode:
var
i: integer;
li: TListItem;
begin
for i:=0 to 4 do
begin
li:=ListView1.Items.add;
li.caption:=Format('Item %d', [i]);
end;
end;
oder so.
Auch SubItems mus man erzeugen:
li.subitems.add('Beispieltext');
Zugriff auf z.B. 3. SubItem von dem 4. Item:
ListView1.Items[4].SubItem[3]
liefert den String zurück oder es kann ein String zugewiesen werden.