Application.Initialize;
  LoginForm:=TLoginForm.Create(Application);
  if LoginForm.ShowModal <>2 then
  begin
    Application.CreateForm(TMainForm, MainForm);
  LoginForm.Free;
    Application.Run;
  end
  else
    begin
      LoginForm.Free;
      Application.Terminate;
    end

解决方案 »

  1.   

    根据LoginForm的Showmodal返回值来判断的
      

  2.   

    Application.Initialize;
      LoginForm:=TLoginForm.Create(Application);   //创建登陆窗口
      if LoginForm.ShowModal <>2 then    //显示登陆窗口并且判断返回值
      begin           
        Application.CreateForm(TMainForm, MainForm);   //创建主窗口
        LoginForm.Free;                                //释放登陆窗口
        Application.Run;                               //进入消息循环
      end
      else
        begin
          LoginForm.Free;              //释放登陆窗口
          Application.Terminate;       //终止程序
        end
      

  3.   

    LoginForm:=TLoginForm.Create(Application);//创建窗体 LoginForm
      if LoginForm.ShowModal <>2 then           //ShowModal 返回值  应该在LoginForm单元里有给 modalresult 赋值.
      begin
      Application.CreateForm(TMainForm, MainForm);//创建主窗体
      LoginForm.Free;//释放LoginForm
        Application.Run;//运行程序
      end
      else
        begin
          LoginForm.Free;
          Application.Terminate;
        end