Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2013, 01:27   #1
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
Вопрос list index out of bounds (-1) при удалении

Доброе время суток!
При удалении строки из LISTBOX вылетает ошибка: list index out of bounds (-1)
Что не так?
PHP код:
Var
LoadPlayList:TStringList;

procedure TForm1.N11Click(SenderTObject);
begin
if ListBox.Items.Text ='' then
N11
.Enabled:=false
else
listbox.Items.Delete(listbox.ItemIndex);
LoadPlayList.Delete(ListBox.ItemIndex);
N11.Enabled:=true;
end
Заранее благодарен!
С уважением,
Volkogriz!
Не количеством плюсов измеряется репутация человека...!

Последний раз редактировалось Volkogriz; 25.01.2013 в 17:04.
Volkogriz вне форума Ответить с цитированием
Старый 25.01.2013, 01:35   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

listbox.ItemIndex проверяйте на наличие -1
Человек_Борща вне форума Ответить с цитированием
Старый 25.01.2013, 02:25   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я думаю просто после удаления индекс сбрасывается.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.01.2013, 10:11   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

не совсем так. На элемент передается фокус но элемент не выбирается, из списка и тогда возникает этот баг.
Человек_Борща вне форума Ответить с цитированием
Старый 25.01.2013, 10:33   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А чего не так? Все так. Если ошибка на первом Delete, значит ItemIndex=-1. Если же ItemIndex>=0, то на втором Delete ошибка обязательно будет, поскольку после выполнения первого ItemIndex обязательноно в -1 сбросится
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
list index out of bounds 0 при обращении к процедуре Egor2 Общие вопросы Delphi 5 04.05.2012 23:37
При поиске возникает ошибка List index out of bounds (-1) Алекссс БД в Delphi 10 22.07.2011 16:40
List index out of bounds (91) KoBRaAndrey Общие вопросы Delphi 6 25.12.2009 15:29
Ошибка List index out of bounds(0) при использовании запроса AdoQuery ArtInt БД в Delphi 14 15.04.2009 18:35
При запуске ComboBoxEx пишет List index out of bounds -1. dx+ Общие вопросы Delphi 6 12.06.2008 22:32