Hola mblascog.
Cita:
Empezado por mblascog
Buenas Ecfisa,
Gracias por tu código. Lo he probado y me devuelve un string en blanco.
He mirado en el Registro si existía la clave y la he encontrado en HKEY_CURRENT_USER en lugar de HKEY_LOCAL_MACHINE. Lo he cambiado, pero me sigue devolviendo el string en blanco.
Puede tener algo que ver en 32 o 64 bits?
|
Es lo mas probable ya que si el SO es de 64 bits hay registros afectados por WOW64 (entre los que figura el que tratamos).
Si todo transcurre en un entorno de 32 bits el código quedaría de este modo:
Código Delphi
[-]
function GetConnectStrFromDSN(const DSNStr: string): string;
begin
Result:= '';
with TRegistry.Create(KEY_READ) do
try
RootKey:= HKEY_LOCAL_MACHINE;
if OpenKey('\SOFTWARE\ODBC\ODBC.INI', False) then
begin
Result:= ReadString(DSNStr);
CloseKey;
end;
finally
Free;
end;
Saludos