Ver Mensaje Individual
  #8  
Antiguo 20-11-2010
Avatar de mikzero
mikzero mikzero is offline
Registrado
 
Registrado: feb 2009
Posts: 3
Reputación: 0
mikzero Va por buen camino
Mismo Problema con Windows 7 Delphi 2007

Cita:
Empezado por Angel Fernández Ver Mensaje
Hola a todos. Quisiera comentaros un problema que tengo con windows vista (y que no tenía en windows xp) al tratar de leer una clave del registro.
Concretamente se trata de saber la ubicación del fichero gbak.exe de firebird para realizar copias de seguridad.
Hasta ahora, el código que utilizaba y que ya digo, funciona perfectamente en windows xp, es el siguiente:

Código Delphi [-]
procedure TFormConfigurar.btnDetectarClick(Sender: TObject);
var
  v_reg: TRegistry;
  MaxFileNameLength, VolFlags, SerNum: DWord;
  rutabin: string;
begin
  with TRegistry.Create do
  begin
    v_reg := TRegistry.Create;
    v_reg.RootKey := HKEY_LOCAL_MACHINE;
    try
      v_reg.OpenKey('\SOFTWARE\Firebird Project\Firebird Server\Instances', False);
      rutabin := v_reg.ReadString('DefaultInstance') + 'bin\gbak.exe';
      closekey;
    finally
      v_reg.Free;
    end;
  end;

  edtRutaGBAK.Text := rutabin;
end;

Este código pone en la variable rutabin el texto de gbak.exe con la ruta completa para llamarlo con shellexecute.

He comprobado que la clave existe y que es correcta. Es la siguiente:

Equipo\HKEY_LOCAL_MACHINE\SOFTWARE\Firebird Project\Firebird Server\Instances\DefaultInstance

¿Alguna forma de solucionarlo?

Un saludo al foro.
Tengo el mismo Problema, cuando quiero hacer el ReadString no me devuelve nada y la variable rutabin queda con valor "bin\gbak.exe" cuando deberia traerme toda la ruta + bin\gbak.exe.

Estoy usando WINDOWS 7 y Delphi 2007 alguna idea?... Gracias
Responder Con Cita