Ver Mensaje Individual
  #4  
Antiguo 12-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No estoy muy puesto en estos temas (como en tantos otros) pero, haciendo alguna prueba, llegué hasta donde voy a motrar sin demasiados problemas: es probable que pueda hacerse de mejor forma, no lo pondré yo en duda, pero, en fin, esto que ahora verás parece funcionar a simple vista:

Lo primero es crear un archivo "dll". Nota que la variable en este caso no está en una unidad aparte, pero, se declara en el propio archivo principal del proyecto "dll", de otro modo, es decir, si declaráramos la variable en otra unidad creo que la cosa funcionaría de la misma forma.

Código Delphi [-]
 library Ejemplo;
 
 {$R *.res}
 
 var
   FVariable: string;
 
 function GetVariable : string;
 begin
   Result := FVariable;
 end;
 
 procedure SetVariable(valor: string);
 begin
   if (FVariable <> valor) then
     FVariable := valor;
 end;
 
 exports GetVariable;
 exports SetVariable;
 
 begin
   FVariable := 'ClubDelphi.com';
 end.
Ese sería el código del proyecto "DLL". ¿Cómo acceder a la variable "FVariable" y cambiar su valor? Pues qué tal si declaramos las funciones que nos interesan de la "DLL" en la aplicación en donde tengamos necesidad de ellas, tal que de este modo:

Código Delphi [-]
   function GetVariable : string; external 'Ejemplo.dll' name 'GetVariable';
   procedure SetVariable(valor: string); external 'Ejemplo.dll' name 'SetVariable';
Y, en realidad, eso es todo. Haciendo algunas pruebas, como he dicho, aunque pueda haber mejores formas, que no lo discuto, he podido acceder a la variable declarada e inicializada en la "DLL" y también cambiar su valor. Si te sirvió de algo tanto rollo me alegro.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita