Nie mogę zrozumieć gdzie mam błąd. Na liście mam 4 kolumny, tak więc jedna główna i 3 subitemy (0, 1, 2). Chcę je przenieść z zaznaczonego wiersza do editów i memo, ale nie mogę, bo problemem jest ostatnia kolumna. Gdy próbuję ją przenieść, zedytować, wyświetlić w showmessage czy co kolwiek to mam ten błąd co w temacie. To mój kod:
procedure TForm1.KolejkaSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
var
zaznaczony:integer;
begin
if selected = true then
begin
zaznaczony:=Kolejka.Selected.Index;
if Kolejka.Selected.Caption = 'Nowy' then
begin
EditTemat.Enabled:=True;
EditPost.Enabled:=True;
EditGodzina.Enabled:=True;
ZapiszPost.Enabled:=True;
EditTemat.Text:=Kolejka.items.item[zaznaczony].SubItems[0];
EditPost.Text:=Kolejka.items.item[zaznaczony].SubItems[1];
EditGodzina.Text:=Kolejka.items.item[zaznaczony].SubItems[2]; // ta linia powoduje błąd
end
else
begin
showmessage('stary') ;
EditTemat.Text:='';
EditPost.Text:='';
EditGodzina.Text:='';
EditTemat.Enabled:=False;
EditPost.Enabled:=False;
EditGodzina.Enabled:=False;
ZapiszPost.Enabled:=False;
end;
end;
end;
Rozumiem gdybym miał za mało kolumn, ale nawet jak dodam kolejną to i tak ten błąd jest, więc czemu nie potrafi odwołać się do subitemu dalszego niż 0 i 1?
Siedzę nad tym 30 minut i nie mogę zrozumieć gdzie jest błąd.