list out of bounds(2),什么东西?(15分)

  • 主题发起人 主题发起人 鲜橙
  • 开始时间 开始时间

鲜橙

Unregistered / Unconfirmed
GUEST, unregistred user!
我执行下面的过程后,delphi提示list out of bounds(2),这是出了什么问题?怎样解决。

procedure Ttestform.Createcolumns1;

begin
with dbgridsin do
begin
columns[0].fieldname:='TEST';
columns[1].fieldname:='A';
columns[2].fieldname:='B';
columns[3].fieldname:='C';
columns[4].fieldname:='D';
columns[5].fieldname:='ANS';
end;
with dbgridmul do
begin
columns[0].FieldName:='TEST';
columns[1].fieldname:='A';
columns[2].fieldname:='B';
columns[3].fieldname:='C';
columns[4].fieldname:='D';
columns[5].fieldname:='E';
columns[6].fieldname:='ANS';
end;
with dbgridsiq do
begin
columns[0].fieldname:='TEST';
columns[1].fieldname:='ANS';
end;
end;
 
没有
dbgridmul.columns[6]
或 dbgridsin.columns[5]
或Dbgridsiq.columns[1]
或所有的 columns[0]。
 
dbgrid的column没那么多
columns[0] 到 columns[column数量-1]
 
你的下标越界了

如: str : array [0..2] of integer

str[0]:=1;
str[1]:=2;
str[2]:=3;------->>>>>>这时2的下标就越界了:)

希望有用:)
 
没搞错吧BJ_QQ,你所说的没有错呀,数组范围是0..2呀,如果
str[3]:=4才会出错吧。
 
onedolph is right
 
he he
,不好意思,少写了一个,TMD,最近怎么搞的:(

你是对的,呵呵'

是str[3]:=4才是错的,呵呵

谢谢 onedolph, delphifaq ,呵呵:)

 
更正:系统提示elisterror message:'list index out of bounds(2)'才对。
我是动态生成access数据库后,再用sql生成三个表,三个表的字段就是上
面的字段了。之后动态地把dbgrid字段与表的字段连接起来。也就是执行
到上面的过程时出错。正确来说是执行到
with dbgridmul do columns[3].filedname='c';时就提示出错。
但下面的with dbgridsiq do begin .....end;都没出错,dbgridsiq能正常显
示出表的对应字段。
 
dbgridmul设置的columns没有那么多,建议动态添加columns只要columns.add就行了
 
谢谢你们的帮助,我已解决了问题了。只是我把两个dbgrid与datasource的连接搞反了。
真对不起,搞了这么久原来是自已出问题。:P
 
后退
顶部