Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.02;
Скачать: 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 вся ветка

Текущий архив: 2002.12.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
3-4179
kombat
2002-11-12 17:54
2002.12.02
Как открыть таблицу из указанного расположения с помощью АДО


1-4407
Bublichek
2002-11-22 15:50
2002.12.02
Нужна помощь!


6-4535
Smart
2002-10-04 09:32
2002.12.02
Как удаленно определить имя пользователя?


3-4217
Jen N
2002-11-14 11:25
2002.12.02
Есть ли в BDE команда для копирования файлов баз данных?


1-4365
AlexeyMir
2002-11-22 11:31
2002.12.02
Утечка памяти