Ver Mensaje Individual
  #2  
Antiguo 23-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Las dos cosas que dices son posibles. La segunda es más sencilla, creo yo, pues sería cuestión de declarar una constante o variable en el código fuente del archivo "DLL" de tipo "string" e incluir en ella el texto que te fuera menester. Si lo que te interesa es añadir un archivo de texto en una "DLL" también es posible, como te digo. Es cuestión de incluir el archivo de texto que necesites en un archivo de recursos (*.res) y este a su vez incluirlo en la librería "DLL".

He preparado un sencillo ejemplo para demostrarte esto último. He seguido ciertos pasos que habrás de tener en cuenta, puesto que en el ejemplo que adjunto ya se han llevado a cabo algunos de ellos, y tendrás que conocerlos para poder hacer tú mismo lo que quieres: sobre todo en lo relativo a añadir el archivo de texto en un archivo de recursos. Paso a detallar los pasos que he dado:

He utilizado el programa PE Resource Explorer para crear el archivo de recursos necesario. Puedes iniciar el programa e importar (mediante el menú contextual de la lista de contenidos del archivo de recursos, en principio vacía) un "RC DATA RESOURCE". Se trata de localizar el archivo de texto a añadir y nada más, el programa hará el resto: se añadirá automáticamente el archivo de texto en el archivo de recursos "*.res".

A continuación he creado un nuevo proyecto en Delphi de tipo "DLL", y en este he hecho que se incluya el archivo de recursos anteriormente creado, mediante la directiva de compilación correspondiente: {$R Recurso.res}, en este caso, pues así he nombrado al archivo de recursos.

En la librería "DLL" he preparado un procedimiento encargado de extraer el archivo de texto del archivo de recursos. Entre el "begin ... end;" de la "DLL" me limito a llamar a dicho procedimiento. Luego he compilado la librería "DLL", el cual ya incluirá el archivo de recursos en su interior.

A continuación he iniciado un nuevo proyecto de Delphi, esta vez una aplicación "normal" para Windows, en la cual únicamente he colocado un botón, en cuyo evento "OnClick" he codificado nomás una instrucción: "LoadLibrary", con el fin de cargar la librería "DLL" anteriormente compilada.

Y eso es todo. Al cargar la librearía "DLL" se ejecutará el procedimiento incorporado en dicha librería, de tal modo que se extraerá el archivo de texto incluido en el de recursos sin más ni más, en el mismo directorio en donde se encuentre el archivo ejecutable "de pruebas" y la librería "DLL", claro está.

Adjunto el ejemplo cuyos pasos para lograrlo acabo de comentar. Recuerda que habrás de compilar la librería "DLL" (que no incluyo compilada para evitar un exceso de tamaño del archivo adjunto) y, a continuación, el propio proyecto "de pruebas". No te quedará más sino pulsar en el único botón de este último proyecto.

Y, por cierto, sé bienvenido al ClubDelphi. Revisa la guía de estilo de estos Foros, pues que, seguramente, te será de utilidad.
Archivos Adjuntos
Tipo de Archivo: zip ejemplo.zip (3,0 KB, 147 visitas)
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 23-10-2005 a las 05:58:20. Razón: Actualizar el archivo adjunto.
Responder Con Cita