我在生成界面时遇到了问题,我想生成edit和label,把它们各放在一个数组中,用两个
中间变量给它们赋值...好麻烦的说 delphi不支持动态数列真糟糕
运行后没有东西出现.我该怎么办?
......
type Label1=array[1..30] of Tlabel; //要生成的label和edit放在数组中
type edit1=array[1..30]of Tedit;
var
Form1: TForm1;
mylabel:label1;
myedit:edit1;
implementation
......
procedure TForm1.test1Click(Sender: TObject); //请看这一段,窗体上已
经有了一个edit和
label,它们是两个数组mylabel,myedit第一个元素,为以后的元件提供基准位置
var i:integer;
llabel:Tlabel;
eedit:Tedit; //我把eedit,llabel做中间变量,create后
赋 给数组,赋完了
把它destroy,不知可否
begin
llabel:=Tlabel.Create(self);
eedit:=Tedit.Create(self);
mylabel[1]:=llabel;
myedit[1]:=eedit;
mylabel[1].caption:=content[0].field_bz;
myedit[1].text:=table1.FieldByName(content[0].field_name).asstring;
llabel.Destroy;
eedit.Destroy;
for i:=2 to count do begin //count是表的字段数
llabel:=Tlabel.Create(self);
mylabel:=llabel;
myLabel.caption:=content[i-1].field_bz;//content是一个记录类型的数
组,放数据字
典的,不必理它
mylabel.top:=mylabel[i-1].top+25; //按上一个元件的位置为基准生成
mylabel.left:=mylabel[i-1].left;
mylabel.width:=mylabel[i-1].width;
mylabel.height:=mylabel[i-1].height;
mylabel.parent:=self;
mylabel.visible:=true;
llabel.Destroy;
end;
end;
我用form1的componentcount方法看不到组件生成.按理说在初始化时就该为两个Tlabel和Tedit类型的数组分配内存的?