登录界面是一般界面,菜单界面是MDI
登录界面要输入正确的用户名才可以进入菜单界面,
问题是:在登录界面若没有正确输入用户名,这个登录界面会自动关闭
而在此程序中我并没有close,请问这是什么原因?
登录界面的程序如下:
SQL.Clear;
SQL.Add('select 密码,权限 from authority');
SQL.Add('where 用户名=:用户名');
Parameters.ParamByName('用户名').Value:=trim(edit1.Text);
Open;if RecordCount <1 then
begin
MessageBox(handle,'您输入的用户不存在','用户名错误', MB_ICONERROR);
Edit1.SetFocus;
Edit1.Text:='';
end
应用程序的程序如下:
begin
  Application.Initialize;
  Application.Title := '管理信息系统';
  Application.ShowMainForm:=False;
  Application.CreateForm(TDataModuleMain, DataModuleMain);
  Application.CreateForm(TF_MainMenu, F_MainMenu);
  F_User_landing := TF_User_landing.Create(Application);
  F_User_landing.ShowModal;
  Application.Run;
end.

解决方案 »

  1.   

    1、检查一下登录按钮的ModalResult属性,应该设置为mrNone
    2、在你的F_User_landing.ShowModal;下面应该有判断语句,如下:
       if F_User_landing.ModalResult = mrOK then //登录错误,用户关闭登录界面
       begin
          F_User_landing.Destroy;
          F_MainMenu.Show;
       end
          Application.Terminate //退出应用程序
       
    3、登录界面,如果验证都正确,验证结束后,应该写一句:ModalResult := mrOk;否则你的MDI主界面无法正常显示。
      

  2.   

    用到ModalResult,就要uses Controls