我的程序中用到很多的Table控件,这些Table都放在一个DM中。举个例子说:设置
单击Button1,激活table1;单击Button2,激活table2;单击Button3,激活table3;单击Button4,激活table14……依此类推。如果单击了Button1后,激活Table1,然后单击Button2,就激活了table2……那样子等到把全部的Button都点击了,不是所有的Table都激活了?这样子很浪费资源!我希望点击某个Button(i)后只激活相应的table(i),并且要把其他已经激活的Table都close!
不知道怎么实现?

解决方案 »

  1.   

    form2.Show;
    form3.Close;
    form4.Close;
    ...........
    依次类推
    把所有button都写上就可以了
      

  2.   

    我自己搞定了!共享一下方法,同时也感谢大家的帮助!谢谢!
    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中声明为全局过程,然后调用就可以实现了!