我的第一个启动的窗体是个登陆窗体login,其formstyle:=fsNormal,然后才是父窗体form1,...再有父窗体调用子窗体form2login调用form1是正常的,但是form1调用form2就出错了
,
错误提示是"cannot create form,No MDIforms are currently avtive'在设计MDI要主要什么技巧呢?

解决方案 »

  1.   

    begin
      Application.Initialize;
      Application.CreateForm(TLogin, Login);//fsNormal 这里不能这么创建,必须用下面的方式创建
      Login:=TLogin.Create(Application);
      Login.Show;
      Application.CreateForm(TMain, Main);//fsMDIForm
      Application.CreateForm(TChild1, Child1);//fsMDIChild
      Application.CreateForm(TChild2, Child2);//fsMDIChild
      Application.Run;
    end.
      

  2.   

    begin
      Application.Initialize;
      Application.CreateForm(TLogin, Login);
      IF (Login.ShowModal = 1) Then
      Begin
         Application.CreateForm(TMain, Main);//fsMDIForm
         Application.Run;
      End;
    end.
    这样比较合适些
    在form1调用form2可以这样调Application.CreateForm(Tform2, form2);就可以跳出form2了。
      

  3.   


    begin
      Application.Initialize;
      Application.CreateForm(TFrmSysMain, FrmSysMain);
      Application.CreateForm(TFrmLogin, FrmLogin);
      Application.ShowMainForm:=false;
      FrmLogin.Show;
      Application.Run;end.