我创建了一个窗体 作为MDI主窗体 并设置了几个子窗体 程序运行正常
我现在想在程序运行前加一个登陆窗口,也就是叫用户输入个人用户名和密码后 通过验证 才显示MDI主窗体 但是程序总报错误 说"没有活动的MDI窗体"之类的错误 请问该问题如何解决了 谢谢大家

解决方案 »

  1.   

    修改.dpr里头代码,说明Login窗口不是MDIChild。
    ...
        FmLogin := TFmLogin.Create(Application);
        if FmLogin.ShowModal() then
        begin
          FmLogin.Free;
          Application.Title := 'XXX系统';
          Application.CreateForm(TFmMain, FmMain);
          Application.Run;
        end
        else begin
          FmLogin.Free;
        end;
    ...
      

  2.   

    {$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TdmDxData, dmDxData);//有数据模块要在此创建,否则dlglogin访问不到
      dlgLogin:=TdlgLogin.Create(Application);
      dlgLogin.ShowModal;
      if  dlgLogin.ModalResult=mrOk then
      begin
        frmSplash:=TfrmSplash.Create(Application);
        frmSplash.ShowModal;
        frmSplash.Update;  //必须有该句否则,splash窗体中控件不显示
        Application.CreateForm(TfrmDxMain, frmDxMain);
        frmSplash.Free;
        Application.Run;
      end
      else
      Application.Terminate;
    end.