mainform //主窗口
form1    //登录窗口
mtsuserid_  //操作员id变量在mainform onshow代码
  mtsuserid_:='';
  application.CreateForm(tform1,form1);
  form1.ShowModal;form1 确定按妞onclick代码
    mts.mtilogin.Active:=false;
    mts.mtilogin.SQL.Clear;
    loginsql:='uid_='''+user_.Text+''' and pass_='''+pass_.Text+'''';
    mts.mtilogin.SQL.Add('select uid_,pass_ from sysuser where');
    mts.mtilogin.SQL.Add(loginsql);
    mts.mtilogin.Active:=true;
    if mts.mtilogin.Recordset.RecordCount<1 then
      exit;密码验证无论错对都释放form1窗口,直接到mainform主窗口.
请问有什么好解决方法?本人delphi接触时间不长,希望高人能详细解答,谢谢!

解决方案 »

  1.   

    改一下:
    在mainform onshow代码
      mtsuserid_:='';
      application.CreateForm(tform1,form1);
      form1.ShowModal;
      if form1.ModalResult<>mrok then 
         Application.Terminate;
    form1 确定按妞onclick代码
        mts.mtilogin.Active:=false;
        mts.mtilogin.SQL.Clear;
        loginsql:='uid_='''+user_.Text+''' and pass_='''+pass_.Text+'''';
        mts.mtilogin.SQL.Add('select uid_,pass_ from sysuser where');
        mts.mtilogin.SQL.Add(loginsql);
        mts.mtilogin.Active:=true;
        if mts.mtilogin.Recordset.RecordCount<1 then
          ModalResult:=mrCancel
        else 
          ModalResult:=mrOk;
          
      

  2.   

    if mts.mtilogin.Recordset.RecordCount<1 then
    begin
      Application.ShowMainForm := False; 
      Application.Terminate;
    end;