Hallo,
ich erzeuge in einer ListView (ListView_Dateien) in der 5. Spalte eine Progressbar (siehe Code)
Code:
with ListView_Dateien do
begin
//Progressbar in der jeweiligen Zeile in der Spalte fünf erzeugen
r := Items[i].DisplayRect(drBounds);
r.Left := r.Left + Columns[0].Width;
r.Left := r.Left + Columns[1].Width;
r.Left := r.Left + Columns[2].Width;
r.Left := r.Left + Columns[3].Width;
r.Right := r.Left + Columns[4].Width;
//Progressbar erzeugen
PB_Status := TProgressBar.Create(Self);
with PB_Status do
begin
Parent := Listview_Dateien;
BoundsRect := r;
Position := 0;
end;
Items[i].Data := PB_Status;
//hier wird was mit der Progressbar gemacht...
//kurze Wartezeit
sleep(1000);
//Progressbar freigeben und löschen
FreeAndNil(PB_Status);
//
ListView_Dateien.Items.Item[i].SubItems.Strings[3] := 'hallo';
Jetzt will ich aber, nachdem die Progressbar wieder entfernt wurde (FreeAndNil(PB_Status)), in diese Zelle (Spalte 5, Zeile x), einen Text einfügen. (ListView_Dateien.Items.Item[i].SubItems.Strings[3] := 'hallo'; )
Wenn ich dort einen Text einfügen will, bekomm ich folgenden Fehler:
Zitat:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt FileUpdate.exe ist eine
Exception der Klasse EStringListError aufgetreten. Meldung: 'Listenindex überschreitet das Maximum (3)'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
Weiss jemand warum?
mfg
Helmi