Asunto: creacion de aplicaciones que no sean necesarias instalar
Hola me llamo emanuel, quisiera saber como se puede crear una aplicacion que no sea necesario instalar, en un unico archivo y que se pueda ejecutar con un doble click. (Delphi)
gracias por esta excelente pagina..
Publicado:
Lun Sep 10, 2007 9:26 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: creacion de aplicaciones que no sean necesarias instalar
Anuncios
crosty escribió:
Hola me llamo emanuel, quisiera saber como se puede crear una aplicacion que no sea necesario instalar, en un unico archivo y que se pueda ejecutar con un doble click. (Delphi)
gracias por esta excelente pagina..
En principio, salvo que utilices componentes no VCL, casi cualquier aplicación que se compile con Delphi (no todas), no requiere de instalación. Como ejemplo lo tienes en cualquiera de nuestras aplicaciones.
Por supuesto, hay determinadas aplicaciones que requieren de ficheros DLLs, ocx, etc externos. Con lo cual, para poder incluirlos en el ejecutable, primero debes saber cuáles necesita tu aplicación.
Para incluir ficheros en el ejecutable de tu aplicación debes utilizar un archivo de recursos (de extensión .rc), con el contenido:
Código:
NOMBRE_QUE_QUIERAS DLL NOMBRE_FICHERO.DLL
Donde:
* NOMBRE_QUE_QUIERAS: es el nombre que le asignarás al recurso, para luego, desde tu aplicación, poder guardarlo en disco.
* DLL: es el tipo de recurso, en realidad DLL no es un tipo de recurso conocido por Delphi, pero puesto que hay que ponerle un nombre al recurso podemos utilizar este. Algunos tipos de archivos reconocidos por Delphi pueden ser: ACCELERATOR, BITMAP, DIALOG, FONT, FONTDIR, MENU, RCDATA, STRING, MESSAGETABLE, CURSOR, GROUP_CURSOR , ICON, GROUP_ICON, VERSION.
* NOMBRE_FICHERO.DLL: será el nombre del fichero que queramos añadir al ejecutable (admite ruta y nombre, si no se especifica la ruta el fichero deberá estar en el mismo sitio que el .rc).
Una vez que hayas creado el fichero .rc con los archivos que quieras añadir al ejecutable de tu aplicación Delphi, lo siguiente será compilar este fichero y generar un .res que es un archivo de recursos compilado. Para ello deberás utilizar el comando "brcc32" (Borland Resource Compiler) que se encuentra en la carpeta "Bin" de la instalación de Delphi. Para compilar nuestro fichero .rc ejecutaremos el siguiente comando, desde "Inicio" - "Ejecutar" - "cmd" (línea de comandos MS-DOS):
Código:
brcc32 nombre_fichero.rc
Si todo ha funcionado correctamente nos habrá generado un: nombre_fichero.res.
Ahora nos quedan dos cosas, por un lado indicarle a la aplicación que utilice ese fichero .res, esto se hace desde las directivas de la aplicación, en el formulario o unidad de la aplicación donde quieras utilizar los recursos, deberás añadir la siguiente línea (después del "implementation"):
{$R nombre_fichero.res}
Con esto, al compilar tu aplicación habremos conseguido insertar los ficheros indicados en el .rc inicial en el ejecutable de tu aplicación.
Ahora nos queda poder extraer estos ficheros antes de ser utilizados, para ello puedes utilizar el código:
Código:
procedure extraerFicheroRecurso (fichero : string);
var
recurso : TResourceStream;
begin
recurso :=
TResourceStream.create(hInstance,
'NOMBRE_QUE_QUIERAS',
'DLL');
recurso.SaveToFile (fichero);
recurso.free;
end;
Un ejemplo de uso de esta función:
Código:
procedure TformMenuPrincipal.btExtraerRecursoClick(Sender: TObject);
begin
extraerFicheroRecurso ('c:\fichero.dll');
end;
Tenemos que comentarte que esto está probado con fichero .ico, .bmp, .wav, .mp3, etc, pero no sabemos si te servirá con .dll o .ocx. Pruébalo y nos cuentas.
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A