本文介绍了“列出索引超出范围”在TListBox上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在表单上有一个TListBox,并且添加了

I have a TListBox on a form, and items are added with

listbox1.ItemIndex := listbox1.Items.AddObject('msg', TObject(grp));

grp 是一个整数。列表框设置为 lbOwnerDrawFixed

grp is an integer. The listbox is set to lbOwnerDrawFixed.

onDrawItem 事件我得到例外 EStringListError 在标记行上提出:

In the onDrawItem event I get the exception EStringListError raised on the marked line:

msg := (control as Tlistbox).Items.Strings[index];           // this line works
grp := integer((control as Tlistbox).Items.Objects[index]);  // exception here

msg grp 是本地字符串和整数变量。

msg and grp are local string and integer variables.


推荐答案

愚蠢的错误: grp:= -1 作为默认组,其中 AddObject Objects [index] / code>不能喜欢。

Silly mistake: I was using grp := -1 as the default group, which AddObject or Objects[index] must not like.

这篇关于“列出索引超出范围”在TListBox上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-30 08:15