我用动态数组动态的建了几个label可是我用什么办法可以删除他们呢:
setlength(labela,5)
for i:=0 to 4
begin
labela[i]:=Tlabel.create(self)
labela[i].caption:='aaaa';
labela[i].parent:=self;
end
我现在想实现在一个Button里再删除他们怎么作呀
setlength(labela,5)
for i:=0 to 4
begin
labela[i]:=Tlabel.create(self)
labela[i].caption:='aaaa';
labela[i].parent:=self;
end
我现在想实现在一个Button里再删除他们怎么作呀
解决方案 »
- 考勤管理系统应该如何设计数据库?
- 循环后值怎么不循环进出呢?
- 关于多线程中如何传递参数?
- 哪位大侠肯帮兄弟一把:如何用delphi6将一Sql server数据库中的几个表导入到另一Access数据库中?
- 免费源代码下载(Asp,Jsp,.Net,Domino)
- 关于DEMO里QUICKRPT-QR2
- Delphi6下面的DCOM问题
- 自定义过程和变量的问题
- 将鼠标移到label控件上时,字体显示红色,移开时显示黑色。不要用onmousemove来控件。
- 哪儿有Thinking in Java和Thinking in C++的电子书,谢谢
- DBGridEh新增一列可否实现其自动增1?
- 两个listbox,如何从listbox2中删除与listbox1相同的项?
要先给数组里面的元素设定对象框架。
for i:=0 to 4
FreeAndNil(labela[i]); // 因为创建的时候是写 Tlabel.create(self),由窗体负责释放。
// 如果创建时写 Tlabel.create(nil),则这里只要用labela[i].Free;
setlength(labela,0)
ICount,JCount:Integer;
ControlCom:Tcontrol;
begin
for ICount := Panel1(此为LABEL控件的载体).ControlCount - 1 downto 0 do //释放MOD控件
begin
if (Panel1.Controls[Icount] is Tlabel) then
begin
ControlCom := Panel1.Controls[iCount];
ControlCom.Free ;
end;
end;