LoginFrm 
fromstyle:fsNormal  //登陆用,且为主窗口登陆成功后,用下面语名创建mainfrm  它为 fsMDIform 型MainFrm := TMainFrm.Create(Application);
                      Hide;
                      MainFrm.Show;在mainfrm的菜单中有如下语名显示子窗口  为fsmdichild型procedure TMainFrm.Z1Click(Sender: TObject);
begin
    Application.CreateForm(Tdhfrm,dhfrm);
end 错误提示:
conot create form no mdi forms are currently active我想显示子窗口,上面的语名如何写

解决方案 »

  1.   

    好像 mdi 子窗口只能用 hide,不能CLOSE
      

  2.   

    因为你的主窗口是loginfrm,而它不是一个MDIFORM
    你的系统中的所有MDICHILD窗口都是创建在MAINFORM下面的我认为你可以做一个调整:把mainform设为Mainfrm在MainFrm的onshow事件中写:loginfrm:=TLoginFrm.create(application);
    try
      if loginfrm.showmodal <> mrok then
        application.Terminate;
    finally
      loginfrm.free;
      loginfrm:=nil;
    end;
      

  3.   

    请参看:
    http://kingron.myetang.com/document/mdiform.htm
      

  4.   

    kingron的办法还真行!!  另外我有两个问题比较菜的问题再想请教一下各位
        1、如何使我的loginfrm居在屏幕中央
        2、MDICHILD关闭时好像是最小化,还不是关闭!!
      

  5.   

    No.2 搞定  Action := caFree
     No.1????
      

  6.   

    1、设计时将position设置为screencenter
    2、关闭的过程中action := caFree;