一般地应该控制的时候超出了listbox的上下限,例如里面只有8个item的时候,你却要访问第9个,那当然出错了。
不过这种错误可以通过单步执行去找出原因,试一试吧

解决方案 »

  1.   

    如果我根本没有listbox呢,还有哪些控件可能有这个问题呢?
      

  2.   

    你用了什么控件,代码贴出来看一下。
    treeview,listview,combobox,只要有Items属性的控件。
      

  3.   

    我想你应该注意Pascal 语法的特点,一般的情况下使用For  循环的时候去掉一个List 的Item
    会造成这种情况,如
    for i:=0 to list.Count- 1 do
       begin
       if<条件 >   then
       List.Delete(i)    
       end;
    这样是会越界的
    因为For的range在循环没有结束是没法改变的!
      

  4.   

    for i:= list.Count- 1 DownTo 0 do
    begin
      if <条件 >  then
      List.Delete(i)    
    end;