var lab:array[0..10] of Tlabel; lab[0]:=label1; lab[1]:=label2; ......... //:)
帮我看看我的这段代码为什么一运行就会报错呢: procedure Tform1.auto_gen_chkbox(); var i:integer; var chkbox:array of TCheckbox; begin rs_cate.First; for i:=0 to 5 do begin With chkbox[0].Create(self) do begin Parent:=self; caption:=IntToStr(i); left:=550; Top:=50+i*15; Width:=100;
end; end; end;
好像是说我的chkbox变量没有初始化。
procedure Tform1.auto_gen_chkbox(); var i:integer; var chkbox:array of TCheckbox; begin rs_cate.First; for i:=0 to 5 do begin //With chkbox[0].Create(self) do With chkbox[i].Create(self) do begin Parent:=self; caption:=IntToStr(i); left:=550; Top:=50+i*15; Width:=100;
lab[0]:=label1;
lab[1]:=label2;
.........
//:)
procedure Tform1.auto_gen_chkbox();
var i:integer;
var chkbox:array of TCheckbox;
begin
rs_cate.First;
for i:=0 to 5 do
begin With chkbox[0].Create(self) do
begin
Parent:=self;
caption:=IntToStr(i);
left:=550;
Top:=50+i*15;
Width:=100;
end;
end; end;
var i:integer;
var chkbox:array of TCheckbox;
begin
rs_cate.First;
for i:=0 to 5 do
begin //With chkbox[0].Create(self) do
With chkbox[i].Create(self) do
begin
Parent:=self;
caption:=IntToStr(i);
left:=550;
Top:=50+i*15;
Width:=100;
end;
end; end;
加了setlength(chkbox,5)就可以了。