我的程序中用到很多的Table控件,这些Table都放在一个DM中。举个例子说:设置
单击Button1,激活table1;单击Button2,激活table2;单击Button3,激活table3;单击Button4,激活table14……依此类推。如果单击了Button1后,激活Table1,然后单击Button2,就激活了table2……那样子等到把全部的Button都点击了,不是所有的Table都激活了?这样子很浪费资源!我希望点击某个Button(i)后只激活相应的table(i),并且要把其他已经激活的Table都close!
不知道怎么实现?
单击Button1,激活table1;单击Button2,激活table2;单击Button3,激活table3;单击Button4,激活table14……依此类推。如果单击了Button1后,激活Table1,然后单击Button2,就激活了table2……那样子等到把全部的Button都点击了,不是所有的Table都激活了?这样子很浪费资源!我希望点击某个Button(i)后只激活相应的table(i),并且要把其他已经激活的Table都close!
不知道怎么实现?
form3.Close;
form4.Close;
...........
依次类推
把所有button都写上就可以了
DMTableClose过程自定义如下;
/ 自定义过程实现关闭程序中所有的Table
procedure DMTableClose;
var
i : Integer;
begin
for i := 0 to DM.ComponentCount-1 do
begin
if (DM.Components[i] is TTable ) then
TTable(DM.Components[i]).Close;
end;
end;
只要在DM中声明为全局过程,然后调用就可以实现了!