本文介绍了“列出索引超出范围”在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上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!