问题好像不是出在dll里
你跟踪一下 密码错误的时候在哪里出现暴力访问?

解决方案 »

  1.   

    procedure GetPassword(var username:string;var password:string);
     begin
      // setlength(username,4);
       //setlength(password,6);
       frmPassword:=TfrmPassword.Create(Application);
       try
         if frmPassword.ShowModal=IDOK then
           begin
             username:=frmPassword.edusername.Text;
             password:=frmPassword.edPassword.Text;
           end
         else  Application.Terminate; //是不是这里错呢,你在这行设断点,然后调试一下试试
       finally
          frmPassword.Free;
       end;
     end;
      

  2.   

    dll里面不能设断点吧
    而且好像不是在对话框关闭的时候出的错
    应该不在这里
      

  3.   

    能否直接将ADOTable1、ADOConnection1放在DLL的窗体里,
      

  4.   

    //删除frmpasswork宣告,移到getpassword中;
    //var                               
    //  frmpassword: Tfrmpassword;      
      procedure GetPassword(var username:string;var password:string);stdcall;export;implementation{$R *.dfm}
    procedure GetPassword(var username:string;var password:string);
    //移到此处
    var
      frmpassword: Tfrmpassword;
     begin
      // setlength(username,4);
      

  5.   

    在 Unit shang 里引用 sharemen 单元!!