用Form1作为程序主窗口,Form2作为登录窗口
在Form1.Show事件中写上代码:Form2.ShowModal
然后在Form2登陆后就把Form2关闭,最好把内存也释放
就是在Form2.Close事件中写上代码:Action:=caFree;
这样就可以实现你需要的功能

解决方案 »

  1.   

    1: LoginFrm ->fsNormal
       主MianFrm ->fsMDIForm或fsNormal
    在Porject中
    {
      //可以加你的登陆提示form
        frmStart:= TfrmStart.Create(Application);
        frmStart.Show;
        frmStart.Update;    Application.CreateForm(TMainMenuFrm, MainMenuFrm);
    }2:在主From的Onshow中增加
      if LoginFrm =nil then
      LoginFrm :=TLoginFrm.Create(Self);
      LoginFrm.showModal;3:在LoginFrm中:
    如果登陆成功:LoginFrm.Close
    否则 :Application.Terminate
      

  2.   

    如在PROJECT中先声明form1,则form1.close;和直接close;一样将整个程序关闭了。
    不想用hide,还有个窗口在后台运行感觉不好。南京不懂,能否将您的代码写的具体点,我的密码验证窗口为FORM1,主窗口为FORM2,在PROJECT中应该先声明哪个?最后多谢火鸟,你的意见略作改动成功了,不过密码验证窗口提示不能释放,说有矛盾。请问是不是在PROJECT的 Application.CreateForm中,最先创建哪个窗口,哪个窗口就是基础,只要他一关闭整个程序就关闭了?怎么改变呢?