Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Непонятица с ListView


Автор: Lexicss 31.8.2006, 21:26
У меня на форме расположен компонент ListView. 
Когда я в FormCreate обращаюсь к Form1.listview1.Columns.Items - мне выдаёт ошибку List Index out of Bounds. 
Хотя раньше с этим же приложением в этой же среде Делфи такой ошибки никогда не было. В чём тут подвох?

Автор: Matematik 31.8.2006, 21:40
Подвох в твоем коде, который ты не написал.

Автор: Lexicss 31.8.2006, 21:52
У меня там есть такое условие...  
Код

if maAuditForm.lvAuditTable.Columns.Items[AU_RESULT].ImageIndex = 5 then SortRecSuccess_I(0,cEnabledMessages-1)

И даже Не важно где оно. Даже если не в CreateForm. Даже когда форма уже создана. При ваыполнении этой команды сразу же выдаёт мне ошибку. 
List index out of bounds.  

Автор: Тьма 31.8.2006, 22:30
http://forum.vingrad.ru/index.php?act=Help&CODE=01&HID=17

Автор: Fedia 31.8.2006, 22:46
Цитата(Lexicss @  31.8.2006,  21:52 Найти цитируемый пост)
И даже Не важно где оно. Даже если не в CreateForm. Даже когда форма уже создана. При ваыполнении этой команды сразу же выдаёт мне ошибку. List index out of bounds. 

Скорее всего AU_RESULT меньше 0 или больше чем 
Код

maAuditForm.lvAuditTable.Columns.Count - 1;

Автор: Lexicss 3.9.2006, 21:16
Оказалось проблема в том, что listview1.items[i].selected нельзя вызывать, если остутсвуют все "пункты", иначе вот выдаёт такую ошибку.

Автор: kostas 4.9.2006, 17:27
гыгы smile это вполне предсказуемо, для предотвращения сей и еще ряда ошибок перед своим кодом вставь следующее:
Код

  if maAuditForm.lvAuditTable.Items.Count<=0 then exit;
  if maAuditForm.lvAuditTable.ItemIndex<0 then exit;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)