改成这样:
  frmlogon.ShowModal;
  if isuser =True then
   begin
  Application.CreateForm(Tfrmmain, frmmain);
  Application.CreateForm(TDataModule1, DataModule1);
  Application.Run;
end else
  Application.Terminate;
你看行不行?

解决方案 »

  1.   

    在登录窗体中:
    isuser := False;
    ModalResult := mrOk;
    在工程文件中:
    if frmlogon.ShowModal = mrOk then
    begin
      if isuser =False then
        Application.Terminate;
    end;
      Application.CreateForm(Tfrmmain, frmmain);
      Application.CreateForm(TDataModule1, DataModule1);
      Application.Run;
      

  2.   

    其实你不必这样做
    把frmlogon做为主窗口,登录成功后再显示原来的主窗口
    然后把frmlogon隐藏起来,反正也占用不了多少资源
      

  3.   

    哥们,首先声明我不懂delphi,下面的代码是我边查帮助边写的,测试通过
    project的主窗口是frmmain,自动加载的窗口只有 frmmain在application中
     Application.Initialize;
      FrmSplash:=TFrmSplash.Create(application);
      FrmSplash.Show;
      Application.ProcessMessages;
      FrmSysDm:=TFrmSysDm.Create(application);
       FrmSplash.Update;
      Application.ProcessMessages;
      //try  // Frmsysdm.ADOConnection1.ConnectionString: =''
      // except
         //messagebox(0,'','',mb_ok or mb_iconwarning or mb_systemodal);     //application.Terminate ;
      // end
       Application.CreateForm(TFrmMain, FrmMain);
      FrmSplash.Update;
      Application.ProcessMessages;
      Application.CreateForm(TFrmMainMenu, FrmMainMenu);
      FrmSplash.Update;
      Application.ProcessMessages;
      FrmSplash.Update;
      Application.ProcessMessages;
      
      frmLogin:=TFrmLogin.Create(Application);
      FrmSplash.Update;
      Application.ProcessMessages;
      FrmSplash.Free;
      FrmSplash := nil;  if FrmLogin.ShowModal <> 1 then
        begin
          FrmMainMenu.Free;
          FrmSplash := nil;
          FrmMain.Free;
          FrmMain:=nil;
          FrmSysDm.Free ;
          FrmSysDm:=nil;
          exit;
        end;
      Application.Run;
      

  4.   

    Application.Initialize;
    form2 := tform2.create(application);
    form2 := tform2.showmodal;
    if form2.tag = 1 then begin
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end else
      Application.terminated;
    ///////////////////////////////
    在form2里有个按钮使tag为1;
      

  5.   

    Application.Initialize;
    form2 := tform2.create(application);
    form2 := tform2.showmodal;
    if form2.tag = 1 then begin
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end else
      Application.terminated;
    ///////////////////////////////
    在form2里有个按钮使tag为1;