如何使子窗口在父窗口运行的时候不出现?
我所用的方法是通过"project--option"中把"自动创建"中的窗口移除.
但是通过主窗口中的主菜单中的命令来运行此子窗口时出错
如何解决这个问题?

解决方案 »

  1.   

    project->options->Forms页->把FormChild移到右边
    var achild:TFormChild;
    begin
       achild:TFormchild.Create(self);
    end;
      

  2.   

    不好意思,少了个“=”号,
    achild:=TFormchild.create(self);
      

  3.   

    从“自动创建”移出后,子窗口对象就没有创建,如果要访问这个子窗口,首先要create他,然后再show他。用完后再把他free掉。
      

  4.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
     if action=nil then
      application.createform(tform,form2);
    end;procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
     action:=cafree;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      form2.Show;
    end;
    先将project中的 Application.CreateForm(TForm2, Form2);去除
      

  5.   


    procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
     action:=cafree;
    end;请问不要FREE还有别的办法吗,因为我在不显示时还要操作该界面,有办法吗,
     mikko11(新手) 
      

  6.   

    设:要hide 窗口Form2,form2在程序运行时已创建
    form2的OnClose事件里:
        formstyle:=fsNormal;
        action:=caHide;关闭form2过程中:
           ...
           form2.close;
           ...
    显示form2过程中:
           ...
           form2.show;
           form2.formstyle:=fsMDIChild;
           ...
      

  7.   

    也就是把不关闭form2,把hide就行了
    但mdichild型的form不能hide,所以先把formstyle改为normal再hide
    显示时又把formstyle改为mdichild