运行时创建的动态控件数组怎么free掉?
我在运行时动态创建了20个控件数组,然后free掉几个,那么在窗口关闭的时候,如果我要free掉剩下的这些的控件数组,那该怎么写?
type
frmMain:TfrmMain;
idx:integer;
btns:array[1..255] of Tbutton;
...
procedure TfrmMain.btnNewclick(sender:TObject);
begin
inc(idx);
btns[idx]:=Tbutton.create(self);
btns[idx].parent:=frmMain;
...
btns[idx].show;
end;
...
procedure TfrmMain.btnDel(sender:TObject);
begin
btn[idx].free;//这里的idx并不一定是最后建立的那个。
end;
...
procedure TfrmMain.Close....//窗体关闭时
var i:intger;
begin
for i:=1 to idx do
if .... //这里这么写??? not Assigned(btns[i])????这个出错.
btns[i].free;
end;