Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
14-4587
-=Prior=-
2002-11-11 16:49
2002.12.02
Люди добрые помогите испытать!


1-4286
alextov
2002-11-21 11:43
2002.12.02
Минимизация дочерних форм приложения


1-4331
MsGuns
2002-11-21 12:30
2002.12.02
Динамическое изменение геометрии и позиции формы.


8-4509
Cr@sh
2002-08-07 13:58
2002.12.02
Подскажите как расчитать cursor position относительно угла TImage


1-4440
alcat
2002-11-20 01:56
2002.12.02
Проблема с ReadLn




   Наверх