Форум: "Основная";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];
ВнизListView1.Items.Delete(i); Найти похожие ветки
← →
Ag2002 (2002-11-23 12:21) [0]Подскажите почему при удалении элементов изсписка в ListView1
вылетает ошибка EAccessViolation, при выполнении следующего кода
...
for i:=0 to ListView1.Items.Count-1 do
if ListView1.Items[i].Selected then
ListView1.Items.Delete(i);
...
Не связано ли это с тем что индексы при удалении сдвигаются ? Как это лечить ?
← →
ЮЮ (2002-11-23 12:30) [1]Именно с этим и связано
i:=0;
While i < ListView1.Items.Count do
if ListView1.Items[i].Selected then
ListView1.Items.Delete(i)
else inc(i);
← →
Anatoly Podgoretsky (2002-11-23 12:32) [2]Ну прикинь, скажем у тебя две записи, после удаления [0] ты пытаешься обратиься к [1], а у тебя оно есть :-)
Делай обратный цикл.
← →
Ag2002 (2002-11-23 12:44) [3]Спасобо понял !!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c