请教高手:出现“list index out of bounds”编译问题,可能是由哪些原因造成的?急!!

zgh058 2001-11-07 10:58:28
...全文
191 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zfmich 2001-11-07
  • 打赏
  • 举报
回复
肯定是下标越界,单步调试就知道是哪了。
manboo 2001-11-07
  • 打赏
  • 举报
回复
我想你应该注意Pascal 语法的特点,一般的情况下使用For 循环的时候去掉一个List 的Item
会造成这种情况,如
for i:=0 to list.Count- 1 do
begin
if<条件 > then
List.Delete(i)
end;
这样是会越界的
因为For的range在循环没有结束是没法改变的!

heyuanppp 2001-11-07
  • 打赏
  • 举报
回复
一般来说是数组超界.
largewang 2001-11-07
  • 打赏
  • 举报
回复
代码贴出来看一下
tikkypeng 2001-11-07
  • 打赏
  • 举报
回复
跟踪一下~~看看在那里报错?
zgh058 2001-11-07
  • 打赏
  • 举报
回复
可能我说得不是很清楚:在编译的时候可以成功,但在使用键盘控制的时候却发生错误。
taxi 2001-11-07
  • 打赏
  • 举报
回复
你用了什么控件,代码贴出来看一下。
treeview,listview,combobox,只要有Items属性的控件。
zgh058 2001-11-07
  • 打赏
  • 举报
回复
如果我根本没有listbox呢,还有哪些控件可能有这个问题呢?
tikkypeng 2001-11-07
  • 打赏
  • 举报
回复
同意~呵呵~
cobi 2001-11-07
  • 打赏
  • 举报
回复
一般地应该控制的时候超出了listbox的上下限,例如里面只有8个item的时候,你却要访问第9个,那当然出错了。
不过这种错误可以通过单步执行去找出原因,试一试吧
saimaya 2001-11-07
  • 打赏
  • 举报
回复
查一下代码,是下标越界了
Fairton 2001-11-07
  • 打赏
  • 举报
回复
下标越界
cobi 2001-11-07
  • 打赏
  • 举报
回复
你要把代码贴出来才好判断的
largewang 2001-11-07
  • 打赏
  • 举报
回复
该结束了!!!!!!!!!!!!!!!!!!
largewang 2001-11-07
  • 打赏
  • 举报
回复
for i:= list.Count- 1 DownTo 0 do
begin
if <条件 > then
List.Delete(i)
end;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧