1.先显示用户登陆窗体,用户校验成功后再加载主窗体??
应该怎么做?(在线等待)

解决方案 »

  1.   

    用模式窗体做,显示主窗体的代码应写在用户登录窗体上的“登录”按钮。
        if 登录成功 then begin
           用户登录窗体.free;
           主窗体.create(self);
        end
        else
          application.terminate;
      

  2.   

    在主窗体的create事件里动态创建登陆窗体,给个例子,随手写的,可能有误
    在主窗体的create事件
    var
      FMLogin:TfrmLogin;//登陆窗体,不要autocreate
    begin
      FMLogin.showmodal();//这里先挂起过程
      if LoginOK then//LoginOK是个全局变量,初始为false,在登陆窗体进行验证成功后负值true
      ....//代码
      else begin
        Close;//退出
        Exit;
      end;end;
      

  3.   

    我没有具体的代码,给你大体写写意思:
    可以利用“登陆”按钮的ModalResult
    登陆窗体FormLogin不自动创建
    在“登陆”按钮的click事件里面写
    if 用户名密码正确
    then ModalResult=mrOK;
    然后在主窗口的Oncreate事件中:
    FormLogin := TFormLogin.Create(self);
      FormLogin.ShowModal;
      if FormLogin.ModalResult <> mrOK then
        Application.Terminate;
    这样就行,具体你自己试验一下吧。