动态创建控件(80分)

  • 主题发起人 主题发起人 abcdfw
  • 开始时间 开始时间
A

abcdfw

Unregistered / Unconfirmed
GUEST, unregistred user!
i:integer
pheader:array of tqrlabel
for i:=1 to frmdm.adoquery5.recordCount-1 do
pheader[2i+1]:=tqrlabel.create(ColumnHeaderBand1);
最后一行错误,']'expected but identifier 'i' found
请高手指教
 
你的2i意义何为?
 
呵呵,看了半天,终于看出来了,缺了一个*号。
pheader[2*i+1]:=tqrlabel.create(ColumnHeaderBand1);
这样就可以了!
OK!
 
难道就不要给我加点分?
 
多谢两位,但修改后运行,预览时出现'access violation at address 00551cef in
module 'project.exe',read of address 000001fc,是什么原因
 
ColumnHeaderBand1
何物?
 
出现这种错误的原因太多,必须有源码!
 
个人觉得你最好定义的数组有一个大小。
否则似乎需要在程序开始的时候使用Redim什么的重新定义。[:)]
 
i:integer
pheader:array of tqrlabel
begin
setlength(pheader,(2*frmdm.adoquery5.recordCount-1)+1);
for i:=1 to frmdm.adoquery5.recordCount-1 do
pheader[2*i+1]:=tqrlabel.create(ColumnHeaderBand1);
end;
可能没有定义动态数组的长度,用setlength()来定义数组的长度
 
对,要定义数组长度。
 
出现这种错误的原因太多,必须有源码!
 
建议使用静态数组
 
还有,控件动态Create之后,需要设置几个必要的属性才能用,可视控件还要Show一下,
否则一定会出错的。
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
550
import
I
I
回复
0
查看
734
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部