谢谢能帮忙解释一下吗?

解决方案 »

  1.   

    list index out of between zero and count-1
      

  2.   

    是越界的意思,如果你没有使用listbox 控件 要先定义的:
    var
     TempList : TstringList;
    begin
     TempList := TstringList.create;
     ...
     ...
     ...
     ...
     while Templist.count < 50 then
     begin
       TempList.add('  ');
     end;
    end; 
    如果你使用了listbox 控件直接
    while listbox.items.count < 50
    begin
      listbox.items.add('  ');
    end; 
    其中50 为列表的最大长度;试试看
      

  3.   


    谢谢大家的热情帮助!
    最后好象发现是下面这句出了错
    shiporderproc.params[0].asstring:=salestable['po_number'];
    我把它改成下面这句后,错误就没出现了
    shiporderproc.parambyname('po_num').asstring:=salestable['po_number']
    我想可能是params[0]这个数组出了问题,但奇怪的是我开始调试时,并没出现这个问题的
    后来把数据库内的数据动了一下就出错了,但着个地方的语句我是从未动过的
      

  4.   

    其实这并不是因为数组从第几个下标开始的问题,下标为[0]的参数其实是一个返回值,我们不用给它赋值,但上面的问题我也有遇过,最后是我自己解觉的,兄弟们不妨试一下!
    在你给参数赋值的时候不要使用数组的下标,而直接使用StoredProc的ParamsByName('@parame1')这个属性来给参数赋值,这样就不会引起上面的问题!
    大家可以试一下,如果有问题可以直接给我发邮件![email protected]