Hace unos meses planteaba un
problema que estaba teniendo con una aplicación en red: En una máquina con W7 funciona sin problema alguno pero en otra con W10 no había manera de que el código que ponía en aquel hilo funcionara; ni bine, ni mal: directamente no funcionaba.
Por probar cambié un poco el diseño de la tabla donde se guardan los usuarios y ahora hago esta verificación:
Código:
try
{
Application->OnException = NULL;
Application->CreateForm(__classid(TfLogin), &fLogin);
if ((nValor = fLogin->ShowModal()) != mrOk)
throw Exception("Cancelado por el usuario.\nSistema desconectado.");
delete fLogin;
Application->OnException = DisplayError;
Query->Close();
Query->SQL->Text = "SELECT Clave, CAST(HASH('" + ClaveUser + "') AS VARCHAR(25)) FROM Claves WHERE Nombre = :Nombre";
Query->ParamByName("Nombre")->AsString = NombreUser;
Query->Open();
if (Query->FieldByName("Clave")->AsString != Query->Fields->FieldByNumber(2)->AsString)
throw Exception("Usuario / clave desconocidos.\nSistema desconectado.");
DesconectaDb();
Query->Params->Clear();
Query->Params->Add("lc_ctype=ISO8859_1");
Query->SQLDialect = 3;
}
catch(Exception &Exc)
{
Mensaje(1, Exc.Message, "Terminar");
Application->Terminate();
return 0;
}
Y volvemos a lo mismo: en el puesto que funciona con W7 no hay ningún problema pero en el que tiene W10 no hay manera de que ese query y su validación posterior funcione. Ya no sé que hacer.