登陆的时候密码正确则正常进入系统,否则就死在这里了.
但是在进入系统之后再打开这个窗体,却可以正确提示密码错误了.不解!!登陆单元的源码如下:
var
  fm_login: Tfm_login;
  quitstr:string;implementation
uses un_data,un_main,un_change;
{$R *.dfm}procedure Tfm_login.BitBtn2Click(Sender: TObject);
begin
  application.Terminate;
end;procedure Tfm_login.FormShow(Sender: TObject);
begin
  quitstr:='0';
  with hhhc_data.hhhc_user do
     begin
     Active :=false;
     CommandText :='select * from hhhc_user';
     Active :=true;
     name_list.Clear;
     pass_edit.Text :='';
     while not eof do
           begin
           name_list.Items.Add(trim(fieldbyname('user').AsString));
           next;
           end;
     end;
    name_list.SetFocus;
end;procedure Tfm_login.BitBtn1Click(Sender: TObject);
begin
  if hhhc_data.hhhc_user.Locate('user;password',VarArrayOf([name_list.text,pass_edit.text]),[]) then
   begin
   fm_main.admin_lab.Caption :=name_list.Text ;
   fm_change.admin_lab2.Caption:=name_list.Text;
   quitstr:='1';
   close;
   end
   else
       begin
       quitstr:='0';
       application.MessageBox('ÃÜÂë´íÎó£¬ÇëÖØÐÂÊäÈë','ÌáʾÐÅÏ¢',64+mb_ok);
       pass_edit.Text :='';
       end;
end;procedure Tfm_login.pass_editKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
   BitBtn1click(self);
end;procedure Tfm_login.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if quitstr<>'1' then
   canclose:=false;
end;end.

解决方案 »

  1.   

    procedure Tfm_login.BitBtn2Click(Sender: TObject);
    begin
      application.Terminate;
    end;
    你是要退出登录窗体还是要退出这个系统?????
      

  2.   

    procedure Tfm_login.FormShow(Sender: TObject);
    begin
      quitstr:='0';
      with hhhc_data.hhhc_user do
         begin
         Active :=false;
         CommandText :='select * from hhhc_user';
         Active :=true;
         name_list.Clear;
         pass_edit.Text :='';
         First;  //                添加这行再试试  如果没有就死循环啦
         while not eof do
               begin
               name_list.Items.Add(trim(fieldbyname('user').AsString));
               next;
               end;
         end;
        name_list.SetFocus;
    end;
      

  3.   

    Sorder(剑客):
    那是退出按钮,当然是退出系统了.Tfm_login.BitBtn1Click是登陆按钮.习惯不好,没有取名字...lzy6204(为了忘却的记忆), 加上first还是不行,哪里有死循环?密码正确就可以正常进入啊.
      

  4.   

    FIRST还是加上吧
    断点跟踪一下这里
    else
           begin
           quitstr:='0';
           application.MessageBox('&Atilde;&Uuml;&Acirc;&euml;&acute;í&Icirc;ó&pound;&not;&Ccedil;&euml;&Ouml;&Oslash;&ETH;&Acirc;&Ecirc;&auml;&Egrave;&euml;','&Igrave;á&Ecirc;&frac34;&ETH;&Aring;&Iuml;&cent;',64+mb_ok);
           pass_edit.Text :='';
           end;看出现了什么问题
      

  5.   

    问题解决!终于...
    原来是个低级错误,我把登陆窗体的FormStyle属性设为fsStayOnTop了..晕..