Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - creacion de aplicaciones que no sean necesarias instalar
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information creacion de aplicaciones que no sean necesarias instalar

Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
crosty
Usuario


Registrado: Sep 10, 2007
Mensajes: 1

Asunto: creacion de aplicaciones que no sean necesarias instalar Responder citando

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.. icon_biggrin.gif
MensajePublicado:
Lun Sep 10, 2007 9:26 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: creacion de aplicaciones que no sean necesarias instalar Responder citando



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.. icon_biggrin.gif


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.
MensajePublicado:
Mar Sep 11, 2007 10:04 am
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net  

Cambiar a:  
Key
  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