delphi动态创建edit的问题.求大神帮助
procedureTForm1.Button1Click(Sender:TObject);vari,m,n,p:integer;beginm:=20;n:=strtoin...
procedure TForm1.Button1Click(Sender: TObject);
var
i,m,n,p:integer;
begin
m:=20;
n:=strtoint(e1.Text);
setlength(editm,n);
for i:=0 to n-1 do
begin
editm[i]:=tedit.Create(self);
editm[i].Parent:=panel1;
editm[i].Width:=120;
editm[i].Height:=20;
editm[i].Left:=0;
editm[i].Top:=0+m;
editm[i].Name:= 'edit'+inttostr(i);
editm[i].Text:= 'edit'+inttostr(i);
editm[i].Visible:=true;
m:=m+20;
end;
end;
看看我这个问题:我按一下button键后,动态创建一组edit,但是我按第二次时就出错。怎么改???
我知道用editm[i].free;
但是,怎么把这句加上? 展开
var
i,m,n,p:integer;
begin
m:=20;
n:=strtoint(e1.Text);
setlength(editm,n);
for i:=0 to n-1 do
begin
editm[i]:=tedit.Create(self);
editm[i].Parent:=panel1;
editm[i].Width:=120;
editm[i].Height:=20;
editm[i].Left:=0;
editm[i].Top:=0+m;
editm[i].Name:= 'edit'+inttostr(i);
editm[i].Text:= 'edit'+inttostr(i);
editm[i].Visible:=true;
m:=m+20;
end;
end;
看看我这个问题:我按一下button键后,动态创建一组edit,但是我按第二次时就出错。怎么改???
我知道用editm[i].free;
但是,怎么把这句加上? 展开
3个回答
展开全部
procedure TForm2.Button1Click(Sender: TObject);
var
i,m,n,p:integer;
editm: array of TEdit;
begin
m:=20;
n:=strtoint(e1.Text);
setlength(editm,n);
//清除掉之前添加的edit
for i:=Panel1.ControlCount-1 downto 0 do
Panel1.Controls[i].Free;
for i:=0 to n-1 do
begin
editm[i]:=tedit.Create(self);
editm[i].Parent:=panel1;
editm[i].Width:=120;
editm[i].Height:=20;
editm[i].Left:=0;
editm[i].Top:=0+m;
editm[i].Name:= 'edit'+ inttostr(i);
editm[i].Text:= 'edit'+inttostr(i);
editm[i].Visible:=true;
m:=m+20;
end;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
微测检测5.10
2023-05-10 广告
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇...
点击进入详情页
本回答由微测检测5.10提供
展开全部
加个循环,然后写上editm[i].free;就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你的for语句前面加一段。
for i := 0 to Panel1.ControlCount-1 do
begin
if Assigned(editm[i]) then
begin
FreeAndNil(editm[i]);
end;
end;
for i := 0 to Panel1.ControlCount-1 do
begin
if Assigned(editm[i]) then
begin
FreeAndNil(editm[i]);
end;
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询