工程文件
  Application.Initialize;
  Application.CreateForm(TfrmMain, frmMain);
  Application.CreateForm(TdmDBLogin, dmDBLogin);
  Application.CreateForm(TfrmLogin, frmLogin);
  Application.CreateForm(TdmDBConnect, dmDBConnect);
  Application.CreateForm(TfrmPrtManage, frmPrtManage);
  Application.CreateForm(TPrintDataModule, PrintDataModule);
  Application.CreateForm(TFrmMainFace, FrmMainFace);
  Application.Run;
在主窗体 TfrmMain的formshow方法中执行
  frmMainFace.ShowModal;
  frmLogin.ShowModal;这两个界面一晃就过,怎么不停住?

解决方案 »

  1.   

    TfrmMain的formshow方法中
    还没有执行啊
      

  2.   

    跟踪后,就是执行了上面的语句,
      frmMainFace.ShowModal;
      frmLogin.ShowModal;
    界面一晃就过
      

  3.   

    我试了一下,没有这种状况啊只不过在frmMain显示之前,先显示frmMainFace,等frmMainFace关闭后显示frmLogin,再关闭frmLogin后显示frmMain
      

  4.   

    Application.Initialize;
      Application.CreateForm(TfrmMain, frmMain);
      Application.CreateForm(TdmDBLogin, dmDBLogin);
      Application.CreateForm(TfrmLogin, frmLogin);
      Application.CreateForm(TdmDBConnect, dmDBConnect);
      Application.CreateForm(TfrmPrtManage, frmPrtManage);
      Application.CreateForm(TPrintDataModule, PrintDataModule);
      Application.CreateForm(TFrmMainFace, FrmMainFace);
      frmMainFace.ShowModal;  //写到这里
      frmLogin.ShowModal;//写到这里  Application.Run;
      

  5.   

    if frmMainFace.ShowModal=mrok then
      begin
    ...........................................
      end;
      

  6.   

    Application.Initialize;
      Application.ShowMainForm:=False;
      frmMainFace:=TfrmMainFace.Create(Application);
      frmMainFace.Visable:=False;
      frmMainFace.ShowModal;  // 要有关闭此窗体的代码
      frmLogin:=TfrmLogin.Create(Application);
      frmLogin.Visible:=False;
      frmLogin.ShowModal;  // 要有关闭此窗体的代码
      Application.CreateForm(TfrmMain, frmMain);
      Application.CreateForm(TdmDBLogin, dmDBLogin);
      Application.CreateForm(TfrmLogin, frmLogin);
      Application.CreateForm(TdmDBConnect, dmDBConnect);
      Application.CreateForm(TfrmPrtManage, frmPrtManage);
      Application.CreateForm(TPrintDataModule, PrintDataModule);
      Application.CreateForm(TFrmMainFace, FrmMainFace);
      Application.ShowMainForm:=True;
      Application.Run;
      

  7.   

    当你用showModal方法时,可能会出错吧,说can't create a visible window,是吗?我有个方法,试试看吧,
    Application.Initialize;
    frmSplash:=TfrmSplash.Create(Application);  //创建闪屏窗口
    frmSplash.show;                             
    frmSplash.update;
    if FormLoginExecute(TfrmLogin)then //FormLoginExecute(TfrmLogin)为一函数,返回
                                      //值为True
      Application.CreateForm(TfrmMain, frmMain);
      Application.Run;
     以下为在Formlogin窗口中的写的函数
      function FormLoginExecute(aFormClass:TFormClass):Boolean;
    begin
       Result:=False;
       with aFormClass.create(application) do
    begin
       try
          if ShowModal=mrok then
               Result:=True;
        finally
           free;
       end;
    end;
    end;        
    最后提醒一下,要在btnOkClick事件中让其ModalResult:=mrOK;
    基本上就这样.不懂在说吧,我运行成功的