veo mucho codigo ...yo lo simplifico asi
el codigo para verificar los valores de las cajas de texto contra los almacenados en la tabla :
Código Delphi
[-]
if BaseDeDatos.TablaUsuarios.Locate('Usuario;Password',VarArrayOf([txtusuario.Text,TxtPassword.Text]),[]) then
begin
showmessage('Bienvenido '+BaseDeDatos.TablaUsuariosNombreUsuario.value);
frmPrincipal.show;
end
else
begin
ShowMessage('Error de Acceso');
inc(Intentos);
if intentos < 3 then
begin
txtpassword.Text:='';
TxtUsuario.SelectAll;
txtusuario.SetFocus;
end
else aplication.terminate;
end;
ojo en mis aplicaciones si bien limito el acceso con este codigo no lo limito por numero de intentos ....el codigo que use se me ocurre en este momento pero creo que debe funcionar bien .....
avisas los resultados a ver que tal te va .....