Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/05/2004, 09:12
Avatar de juagarc4
juagarc4
 
Fecha de Ingreso: octubre-2003
Ubicación: En casa
Mensajes: 127
Antigüedad: 21 años, 4 meses
Puntos: 0
Holap
Creo que ya he visto el error:
Debes sustituir esta linea:
Código:
Result :=Registry.ReadString('VALUE1');
por esta otra:
Código:
GetRegistryValue :=Registry.ReadString('VALUE1');
Ahora tendrás el valor leido del registro en el retorno de la
función , es que el Return no funciona en Delphi, eso es de Visial Basic.
Para obtener el valor que devuelve una función hay que asignarselo así:
GetRegistryValue:=Registry.ReadString('VALOR1');
Ahora tu función quedaría de esta manera:
Código:
function TForm1.GetRegistryValue: string;
var
      Registry: TRegistry;
      S:String; //esta variable no se usa, se puede quitar.
begin
      Registry:=TRegistry.Create;
      Registry.RootKey:=HKEY_LOCAL_MACHINE;
//False because we do not want to create it if it doesn’t exist
      Registry.OpenKey('MYKEY',False);
      GetRegistryValue:=Registry.ReadString('VALOR1'); 
     Registry.Free;
end;
Ahora en el Form.Show por ejemplo, puedes poner un Label y llamar a la función:
label1.caption:=GetRegistryValue;
Además fíjate en la cabecera de la función:
function TForm1.GetRegistryValue: string;
la he incluido en la clausula
Código:
type
  TForm1 = class(TForm)
    Label1: TLabel;
    function GetRegistryValue: string;
    procedure FormShow(Sender: TObject);
Ahora debe de funcionarte correctamente.
Salu2
__________________
El que pregunta lo que no sabe, es ignorante durante 5 minutos, el que no lo pregunta lo es de por vida (Proverbio Chino)
La tonteria se pone siempre en primera fila, para ser vista. La inteligencia se pones siempre detrás para poder ver. (Alguien lo dijo, seguro)