procedure TForm_Login.BitBtn_LoginClick(Sender: TObject);
begin
  BitBtn_Login.Tag:=BitBtn_Login.Tag+1;   //用Tag属性记录验证次数
  if (Edit_User.Text <>'aa') or (Edit_PW.Text <>'aa') then   //验证不成功
    if BitBtn_Login.tag=3 then      //判断错误次数
    begin
      showmessage('错误超过3次,拒绝登录!');
      modalresult:=mrCancel;       // 错误超过3次,模式返回值为mrCancel
    end
    else
    begin                          //错误小于3次,提示重新登录
      showmessage('用户名或密码错误,请重新登录!');
      Edit_User.Text:='';
      Edit_PW.Text:='';
      Edit_User.SetFocus ;
    end
  else
    modalresult:=mrOK;      //成功登录,模式返回值为 mrOK
end;

解决方案 »

  1.   


    加上这一句:    modalresult:=mrNO;      //重新登陆,模式返回值为 mrNO 
    如下:procedure TForm_Login.BitBtn_LoginClick(Sender: TObject); 
    begin 
      BitBtn_Login.Tag:=BitBtn_Login.Tag+1;  //用Tag属性记录验证次数 
      if (Edit_User.Text <>'aa') or (Edit_PW.Text <>'aa') then  //验证不成功 
        if BitBtn_Login.tag=3 then      //判断错误次数 
        begin 
          showmessage('错误超过3次,拒绝登录!'); 
          modalresult:=mrCancel;      // 错误超过3次,模式返回值为mrCancel 
        end 
        else 
        begin                          //错误小于3次,提示重新登录 
          showmessage('用户名或密码错误,请重新登录!'); 
          Edit_User.Text:=''; 
          Edit_PW.Text:=''; 
          Edit_User.SetFocus ; 
         modalresult:=mrNO;      //重新登陆,模式返回值为 mrNO 
        end 
      else 
        modalresult:=mrOK;      //成功登录,模式返回值为 mrOK 
    end; 
      

  2.   

    加上红色的试一下~~
    procedure TForm_Login.BitBtn_LoginClick(Sender: TObject); 
    begin 
      BitBtn_Login.Tag:=BitBtn_Login.Tag+1;  //用Tag属性记录验证次数 
      if (Edit_User.Text <>'aa') or (Edit_PW.Text <>'aa') then  //验证不成功 
       begin
        if BitBtn_Login.tag=3 then      //判断错误次数 
        begin 
          showmessage('错误超过3次,拒绝登录!'); 
          modalresult:=mrCancel;      // 错误超过3次,模式返回值为mrCancel 
        end 
        else 
        begin                          //错误小于3次,提示重新登录 
          showmessage('用户名或密码错误,请重新登录!'); 
          Edit_User.Text:=''; 
          Edit_PW.Text:=''; 
          Edit_User.SetFocus ; 
        end;
      end
      else 
        modalresult:=mrOK;      //成功登录,模式返回值为 mrOK 
    end; 
      

  3.   

    procedure TForm_Login.BitBtn_LoginClick(Sender: TObject); 
    begin 
      BitBtn_Login.Tag:=BitBtn_Login.Tag+1;  //用Tag属性记录验证次数 
      if (Edit_User.Text <>'aa') or (Edit_PW.Text <>'aa') then  //验证不成功 
        if BitBtn_Login.tag=3 then      //判断错误次数 
        begin 
          showmessage('错误超过3次,拒绝登录!'); 
          modalresult:=mrCancel;      // 错误超过3次,模式返回值为mrCancel 
        end 
        else 
        begin                          //错误小于3次,提示重新登录 
          showmessage('用户名或密码错误,请重新登录!'); 
          Edit_User.Text:=''; 
          Edit_PW.Text:=''; 
          Edit_User.SetFocus ;
          modalResult := mrCancel ; ///  错误了,也要返回一个值,处理才行。 
        end 
      else 
        modalresult:=mrOK;      //成功登录,模式返回值为 mrOK 
    end; 
      

  4.   

    检查一下BitBtn_Login这个按钮的ModalResult属性值, 估计被你设置成了非mrNone值, 修改为mrNone即可,你的代码不需要做任何修改。
      

  5.   

    9楼正解!!!谢谢!
    我把BitBtn_Login这个按钮的ModalResult属性值设为乐mrok,
    也非常感谢其他朋友的帮助
      

  6.   

    modalResult := mrCancel 

    modalResult := mrNo
    窗体直接退出