如现在8个窗体,form1,form2........form8form1首先创建,然后创建form2,再创建form3,
form3可以任意创建form4....form8(比方说用户点击不同的按钮来创建)
form4....form8也有入口可创建其它窗口(form4....form8,除本身外,也可返回到form3);
试问在创建新的窗口后,可否关闭其它窗口?
或者说如何创建这些窗口,才能不会占用太多系统资源?

解决方案 »

  1.   

    建议写一个TFormManager类吧,统一管理窗口的创建和切换显示。
    每个Form都调用这个类的公共函数来创建和操作其他窗体。
      

  2.   

    在delphi中每创建一个窗口 就将它添加到工程:
    Project菜单--->Add to Project-->选中窗体单元--->确定只要是通过某一按钮单击后显示的窗口, 都设置为动态创建:
    Project菜单-->Options--->Forms选现卡:
    左边的那个列表中是程序运行就创建的窗口,如果想设置为动态创建,就加入右边的列表在程序中动态创建窗口并显示:
    Procedure ButtonClick(Sender: TObject);
    begin
      Application.CreateForm(TForm4,Form4);
      try
        Form5.ShowModal;
      Finally
        Form4.free;
      end;
    end;
      

  3.   

    blackdell说的好,能不能具体说说
      

  4.   

    要用singleton吧。
    用单例模式吧!