现在小弟有一个程序,大概有30多个窗体,现在想在装载主程序的时候只装载一主窗体个,然后点击相应的窗体按牛的时候再装载一个窗体,这个怎么实现!!!!谢谢

解决方案 »

  1.   

    Form1 := TForm1.Create(Self);
    try
      Form1.ShowModal;
    finally
      Form1.Free;
    end;Show的话,就不要在此处Free了。
      

  2.   

    Project->Options->Forms页里,就知道了。
      

  3.   

    将project->options->forms里自动创建的窗体移到右边,只保留一个主窗体。
    在需要使用某窗体时再创建。
    form1 := Tform1.create(self);
      

  4.   

    Project->Options->Forms页里
    所有窗体动态创建
    如:
      if Form1=nil then
      begin
         Form1:=Form1.Create(self);  
        Form1.Show;
      end else
      begin
        Form1.SetFocus;
        Form1.WindowState:=wsNormal;
      end;
    自己释放自己
    procedure TForm1.FormClose(Sender: TObject;
      var Action: TCloseAction);
    begin
      Form1.Release;
      Form1:=nil;
    end;
      

  5.   

    Project->Options->Forms页
    form2:=Tform2.Create(application);
    form2.ShowModal;
    form2.free;
      

  6.   

    create(self)和create(nil)又有什么区别呢?
      

  7.   

    Project->Options->Forms页里把要创建的窗体放到右面
    在工程中自己创建:
        Form1:=Form1.Create(self);   
    窗口释放:
    procedure TForm1.FormClose(Sender: TObject;
      var Action: TCloseAction);
    begin
      Form1.Release;
    end;
      

  8.   

    Project->Options->Forms隐藏只留一个formbegin
           with topen_cbb.Create(application) do   //topen_cbb为其它窗体的名字
             try //弹出窗体
              Showmodal;
            except
             close_message('打开测评表创建窗口错误');
             free;
            end;
    end;
      

  9.   

    if not assigned(modnews) then begin  
       application.Createform(Tmodnews,modnews);
      try
        modnews.showmodal;
      finally
        modnews.free;
        modnews:=nil;
      end;