da, wenn du den Wert mit Index 0 löscht, der Count nicht aktualisiert wird
am besten einfach
Delphi-Quellcode:
i := 0;
while i < CheckListBox1.Items.Count do
if CheckListBox1.State[i] = cbUnchecked then CheckListBox1.Items.Delete(i)
else inc(i);
[edit]
ups, das mit dem Index von oben ist flasch ... da hast du nur bis Count gezählt, darfst aber nur bis Count-1 zählen !
Aber kannst ja auch einfach die while Schleife verwenden !
[/edit]