如标题所说,第一步自动建了一个Tpanel控件名称为"mypanel",第二步我把它删除,第三次,又可以新建一个相同名的就如错。如何才能真证把它删除,而新建相同名称时不出错,请帮助。
解决方案 »
- 创建窗体时TDirDialog类没有找到
- 请教一个难题(拷贝当前屏幕到文件,在xp系统下,当用户切换以后,原用户的屏幕信息)
- 为什么在ORACLE的WORKSHEET下面运行能够显示数据,但是在DELPHI里面用DATAGRID就显示不了,??????
- 如果用串口通信的方法连台手机来发短信,最快一分钟可以发多少条?
- 如何得到当前时间前3秒的时间是多少 ?
- 当鼠标离开一个image1时,用什么事件?
- 深爱Delphi又痛恨Delphi
- 有关在组件中使用TBlobStream的一点儿体会
- 请大侠帮忙详细解释一下TResourceStream.Create的用法,我看文档还是有点困难。
- QUERY的动态统计值如何体现?
- delphi关于cooki的操作
- 请教,如何优化动态创建控件的速度,或者更好的解决办法!
mypanel:=tpanel.Create(self);
mypanel.Parent:=showpanel;
mypanel.Align:=altop;
mypanel.Visible:=true;
mypanel.Name:='chenpanel'+inttostr(y);
mypanel.Height:=24;//--下面是删除控件----------------------
mypanel[y].Destroy;上面的代码就是删除不了控件,再执行新建控件代码时,就出错了。
全局变量:pnl: TPanel;procedure TForm1.btnCreatePanelClick(Sender: TObject);
begin
pnl := TPanel.Create(Self);
with pnl do
begin
Parent := self;
Align := alTop;
Name := 'myPanel';
end;
end;procedure TForm1.btnDeletePanelClick(Sender: TObject);
begin
pnl.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
mypanel: TPanel;
y: Integer;
begin
y := 0;
mypanel := TPanel.Create(self);
mypanel.Parent := ShowPanel;
mypanel.Align := alTop;
mypanel.Visible := True;
mypanel.Name := 'chenpanel' + IntToStr(y);
mypanel.Height := 24;//--下面是删除控件----------------------
mypanel.Destroy;
end;mypanel[]什么时候成数组了?
y变量又是怎么声明和控制的?
如果你有数组保存Panel的实例那Name属性并不需要赋值
//-下面是新建一个控件
mypanel:=tpanel.Create(self);
mypanel.Parent:=showpanel;
mypanel.Align:=altop;
mypanel.Visible:=true;
mypanel.Name:='chenpanel';
mypanel.Height:=24;//--下面是删除控件----------------------
mypanel.Destroy;
你先得让我能模拟出你说的错误
如果不方便把代码贴全
你可以新建一个工程
把创建和释放Panel的代码移过去
能重现错误后把整个单元的代码贴出来分析