Evet haklısınız. İşte bu yüzden @mrmarman size silme işlemini döngü dışında yapın diyor.
Şöyle düşünün;
Silmek istediğiniz Item'ın indeksi = IOnce.
Ama siz öncesinde yeni bir Item daha eklediniz.
Dolayısıyla sizin silmek istediğiniz Item'ın index'i değişti.
Fakat siz hala indeksi IOnce olan Item'ı siliyorsunuz.
Silmek istediğiniz Item'ın indeksini değil de kendisini bir değişkende saklarsanız, daha sonra silmek istediğinizde bu sakladığınız değişkenin indeksine göre silme yapabilirsiniz:
Şöyle düşünün;
Silmek istediğiniz Item'ın indeksi = IOnce.
Ama siz öncesinde yeni bir Item daha eklediniz.
Dolayısıyla sizin silmek istediğiniz Item'ın index'i değişti.
Fakat siz hala indeksi IOnce olan Item'ı siliyorsunuz.
Silmek istediğiniz Item'ın indeksini değil de kendisini bir değişkende saklarsanız, daha sonra silmek istediğinizde bu sakladığınız değişkenin indeksine göre silme yapabilirsiniz:
var silenecek: TListItem; ... silinecek := Listview1.Items[I].Index; ... ... ... ListView1.Items.Delete(silinecek.Index);
There's no place like 127.0.0.1

