Discussion:
Archivos de Recursos (RES)
(demasiado antiguo para responder)
Papete
2003-07-31 11:48:35 UTC
Permalink
Hola, es normal que al usar archivos de recursos éstos se guarden dentro del
.exe haciendo que el sistema sea distribuído sin el archivo RES en cuestión?
Víctor B.
2003-07-31 14:28:11 UTC
Permalink
No, no es normal. De hecho, los archivos de recursos se distribuyen junto
con el EXE pero fuera de él, esto permite que el EXE ocupe menos memoria.
Post by Papete
Hola, es normal que al usar archivos de recursos éstos se guarden dentro del
.exe haciendo que el sistema sea distribuído sin el archivo RES en cuestión?
Eduardo A. Morcillo [MS MVP]
2003-07-31 15:34:20 UTC
Permalink
Post by Víctor B.
No, no es normal. De hecho, los archivos de recursos se distribuyen
junto con el EXE pero fuera de él, esto permite que el EXE ocupe
menos memoria.
???? Es todo lo contrario.
--
Eduardo A. Morcillo [MS MVP - VB]
http://www.mvps.org/emorcillo
gustavo gutierrez
2003-07-31 15:27:36 UTC
Permalink
si el objetivo de usar archivos de recursos es darle portabilidad al sistema
cuando cambien las condiciones de una instalacion a la otra, como poder
instalar interfaces en diferentes idiomas, etc, etc. entonces no tendria
caso que el .res estuviera incluido en el .exe, por que se debe poder
distribuir con el .res adecuado a las condiciones de cada cliente...

saludos!!
Post by Papete
Hola, es normal que al usar archivos de recursos éstos se guarden dentro del
.exe haciendo que el sistema sea distribuído sin el archivo RES en cuestión?
RadioMan
2003-07-31 15:47:07 UTC
Permalink
Hola.

Perdon que interrumpa!!!

Pero.....

El archivo de recursos SIEMPRE va dentro el EXE.

;-)

Saludos.
--
'//RadioMan
Asdrubal Velasquez
RadioMan(ARROBA)cantv.net
Puerto Ordaz - Venezuela
RadioMan
2003-07-31 15:54:39 UTC
Permalink
Hola otra vez

Realmente quise subrayar la palaba "DENTRO" y no como hice con "SIEMPRE"

Hay técnicas que permiten tener el archivo de recursos fuera del exe.

Por haber escrito tan rápido tal vez no fui muy claro. Lo que quise decir
fue que VB introduce siempre el archivo de recursos dentro del ejecutable.

Saludos.
--
'//RadioMan
Asdrubal Velasquez
RadioMan(ARROBA)cantv.net
Puerto Ordaz - Venezuela
Papete
2003-07-31 15:58:15 UTC
Permalink
No me está quedando claro.
Hagan la prueba.
Creen un proyecto y un archivo de recursos, póngale un BitMap y con código
pongan esa imagen como fondo del form.
Generar el EXE y prueben que pasa si borran el RES.

tips: Form1.Picture = Loadrespicture(101, vbresbitmap)
Post by Papete
Hola, es normal que al usar archivos de recursos éstos se guarden dentro del
.exe haciendo que el sistema sea distribuído sin el archivo RES en cuestión?
Rubén Vigón
2003-07-31 16:22:16 UTC
Permalink
Una vez eliminado el archivo .RES, ¿ejecutas tu aplicación desde el EXE o desde el IDE de Visual
Basic?

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic

(Guía de buen uso del foro)
http://perso.wanadoo.es/rubenvigon/foro
Papete
2003-07-31 16:39:21 UTC
Permalink
desde el EXE
Post by Rubén Vigón
Una vez eliminado el archivo .RES, ¿ejecutas tu aplicación desde el EXE o
desde el IDE de Visual
Post by Rubén Vigón
Basic?
Un saludo!
Rubén Vigón
Microsoft MVP Visual Basic
(Guía de buen uso del foro)
http://perso.wanadoo.es/rubenvigon/foro
Rubén Vigón
2003-07-31 17:01:12 UTC
Permalink
¿Qué error obtienes? Tu error probablemente esté originado por otra causa. Te puedo asegurar que el
archivo .RES se incluye en el .EXE de tu aplicación, y no necesita ser distribuido junto al
ejecutable. Sin embargo, recuerda que, si ejecutas tu aplicación desde el IDE de Visual Basic, el
archivo de recursos SÍ es necesario

Según MSDN:
[...] Asimismo, considere la posibilidad de proporcionar un archivo .res y usar la función
LoadResPicture. El archivo .res se incluye en el archivo .exe y los mapas de bits se guardan en un
formato estándar que puede leer cualquier editor de recursos. Si carga imágenes en tiempo de
ejecución con la función LoadPicture, debe proporcionar a los usuarios los archivos de imagen junto
con la aplicación

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic

(Guía de buen uso del foro)
http://perso.wanadoo.es/rubenvigon/foro
Hernán
2003-07-31 19:14:41 UTC
Permalink
No se trata de un error. Era una duda.
Porqué utilizar un archivo de recursos si con la propiedad picture desde el
idle obtengo el mismo resultado. Pienso que debe haber alguna opción para
que el EXE utilice el archivo RES en vez de fundirse con él.
Supongamos el caso de que a mi aplicación quiera utilizar sonidos de 16 bits
sampleados a 44.1 khz y que todos los WAV's juntos hicieran 20 megas. Me
parecería absurdo tener un EXE de 20 megas habiendo usado un archivo de
RECURSOS.
Digamos que ese nunca fue su propósito.

Un res siempre ha sido un archivo intermedio. Un producto desechable en el
proceso de construir el ejecutable, al igual que cualquier otro object
module.

Su objetivo primero (y único), era distanciarse del segmento de datos de
la aplicación, para liberar al segmento de semejante carga de data
estática. Esto en el windows(tm) de 16 bits.

Ok, en win32 no es importante, pero de todos modos obtienes un ejecutable
monolítico, que a veces resulta útil...

--
Hernán (27)
quilmes.ar
Papete
2003-07-31 20:18:15 UTC
Permalink
¡Muchas gracias por tu explicación!

No obstante sigo pensando que es raro.
Post by Hernán
No se trata de un error. Era una duda.
Porqué utilizar un archivo de recursos si con la propiedad picture desde el
idle obtengo el mismo resultado. Pienso que debe haber alguna opción para
que el EXE utilice el archivo RES en vez de fundirse con él.
Supongamos el caso de que a mi aplicación quiera utilizar sonidos de 16 bits
sampleados a 44.1 khz y que todos los WAV's juntos hicieran 20 megas. Me
parecería absurdo tener un EXE de 20 megas habiendo usado un archivo de
RECURSOS.
Digamos que ese nunca fue su propósito.
Un res siempre ha sido un archivo intermedio. Un producto desechable en el
proceso de construir el ejecutable, al igual que cualquier otro object
module.
Su objetivo primero (y único), era distanciarse del segmento de datos de
la aplicación, para liberar al segmento de semejante carga de data
estática. Esto en el windows(tm) de 16 bits.
Ok, en win32 no es importante, pero de todos modos obtienes un ejecutable
monolítico, que a veces resulta útil...
--
Hernán (27)
quilmes.ar
Manuel Romero
2003-08-04 17:01:05 UTC
Permalink
Puedes hacer una dll con los archivos y luego la instancias desde tu
aplicacion
No se trata de un error. Era una duda.
Porqué utilizar un archivo de recursos si con la propiedad picture desde
el
idle obtengo el mismo resultado. Pienso que debe haber alguna opción para
que el EXE utilice el archivo RES en vez de fundirse con él.
Supongamos el caso de que a mi aplicación quiera utilizar sonidos de 16
bits
sampleados a 44.1 khz y que todos los WAV's juntos hicieran 20 megas. Me
parecería absurdo tener un EXE de 20 megas habiendo usado un archivo de
RECURSOS.
Post by Rubén Vigón
¿Qué error obtienes? Tu error probablemente esté originado por otra
causa.
Te puedo asegurar que el
Post by Rubén Vigón
archivo .RES se incluye en el .EXE de tu aplicación, y no necesita ser
distribuido junto al
Post by Rubén Vigón
ejecutable. Sin embargo, recuerda que, si ejecutas tu aplicación desde
el
IDE de Visual Basic, el
Post by Rubén Vigón
archivo de recursos SÍ es necesario
[...] Asimismo, considere la posibilidad de proporcionar un archivo .res
y
usar la función
Post by Rubén Vigón
LoadResPicture. El archivo .res se incluye en el archivo .exe y los
mapas
de bits se guardan en un
Post by Rubén Vigón
formato estándar que puede leer cualquier editor de recursos. Si carga
imágenes en tiempo de
Post by Rubén Vigón
ejecución con la función LoadPicture, debe proporcionar a los usuarios
los
archivos de imagen junto
Post by Rubén Vigón
con la aplicación
Un saludo!
Rubén Vigón
Microsoft MVP Visual Basic
(Guía de buen uso del foro)
http://perso.wanadoo.es/rubenvigon/foro
Víctor B.
2003-07-31 17:02:34 UTC
Permalink
Bueno, todos tienen razón, he mezclado lo que se puede hacer y lo que sería
ideal hacer. El archivo RES, puedes excluirlo del proyecto con el explorador
de proyectos. Y evidentemente, cuando compilas te das cuenta de que el EXE
es menor. Pero las instrucciones LoadRES... no son capaces de encontrar el
recurso, ni aunque el RES se encuentre en la misma ruta que el exe.
Por lo tanto DISCULPA Pepete. Se puede compilar el proyecto sin el RES, que
ocupa menos, pero no sirve, hay que compilarlo con el RES incluido en el
proyecto.
Aunque como dice gustavo gurierrez, y suscribo 100%, lo ideal sería que se
pudiera usar sin estar dentro del exe. La posibilidad de hacer programas
multi-idioma o con distintos inerfaces pasa por tener varios archivos RES y
compilar cada vez que se necesite uno u otro, o tener en el mismo archivo
RES toda la funcionalidad multilenguaje. Que sería lo mismo que distribuir
tu aplicación en todos los idiomas para todos tus clientes.
Post by Papete
Hola, es normal que al usar archivos de recursos éstos se guarden dentro del
.exe haciendo que el sistema sea distribuído sin el archivo RES en cuestión?
Loading...