Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2016-06

Cambiar icono antes de compilar apliación

11 messages · 8 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Antonio Évora

Estimad en s colegas.
Llevo varios días intentando cambiar el icono de la aplicación antes de generar el ejecutable. Es decir, ejecutar un script que cambie el icono de la aplicación para personalizar el icono de esta según el cliente. Lo que ocurre es que el icono de la aplicación se carga al cargar el proyecto (usando el icono del mismo nombre que el proyecto) y aun cambiando el fichero del icono perdura el que cargo lazarus al cargar el proyecto. ¿Es esto posible?

Un cordial saludo y gracias de antemano.

Reply by email

Maikel Enrique Pernía Matos
to Antonio Évora

Si has utilizado Delphi (al menos hasta Delphi7) en lazarus la forma para cambiar el icono de la app es similar:
Barra de menu -> Proyecto -> Opciones de proyecto

En el diálogo que te muestra en el tabPage "Aplicación" puedes seleccionar tu icono o imagen para icono.

Saludos,
Maikel

Antonio Évora wrote 14 lines
Estimad en s colegas. Llevo varios días intentando cambiar el icono de la aplicación antes de generar el ejecutable. Es decir, ejecutar un script que cambie el icono de la aplicación para personalizar el icono de esta según el cliente. Lo que ocurre es que el icono de la aplicación se carga al cargar el proyecto (usando el icono del mismo nombre que el proyecto) y aun cambiando el fichero del icono perdura el que cargo lazarus al cargar el proyecto. ¿Es esto posible? Un cordial saludo y gracias de antemano. _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus-es
Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Antonio Évora Ramírez

Buenas Maikel.
Como tu comentas es como se hace. Pero lo que yo necesito es que si el modo de compilación es A ponga un icono y si el modo de compilación es B ponga otro icono distinto. Ya lo tengo orquestado para el fondo de la aplicación que cambia en función del modo de compilación pero con el icono no hay manera (o al menos yo no se como). La solución sería que al compilar usará el icono de la aplicación y no el que se cargó al cargar el proyecto. Espero haberme explicado mejor ;-)

Un cordial saludo y gracias anticipadas.
El 18/6/2016 15:11, "Maikel Enrique Pernía Matos" < perniamatos en infomed.sld.cu> escribió:

Si has utilizado Delphi (al menos hasta Delphi7) en lazarus la forma para cambiar el icono de la app es similar:
Barra de menu -> Proyecto -> Opciones de proyecto

En el diálogo que te muestra en el tabPage "Aplicación" puedes seleccionar tu icono o imagen para icono.

Saludos,
Maikel

Antonio Évora wrote 14 lines
Estimad en s colegas. Llevo varios días intentando cambiar el icono de la aplicación antes de generar el ejecutable. Es decir, ejecutar un script que cambie el icono de la aplicación para personalizar el icono de esta según el cliente. Lo que ocurre es que el icono de la aplicación se carga al cargar el proyecto (usando el icono del mismo nombre que el proyecto) y aun cambiando el fichero del icono perdura el que cargo lazarus al cargar el proyecto. ¿Es esto posible? Un cordial saludo y gracias de antemano. _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus-es
Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

francisco prieto
to Antonio Évora Ramírez

Antonio,

Se me ocurre que para lo tuyo podes intentar algo asi...

http://www.clubdelphi.com/foros/showthread.php?t=47395

Ojo, el Lazarus tiene un bug y para que te tome correctamente el archivo de recursos tenes que:
1-Ejecutar
2-Limpiar y Construir
3- Dejar tildada solo las opciones Directorio de Salida de Proyecto y Directorio de Fuentes del Proyecto
4- Limpiar y Construir

Cada vez que hagas un cambio en los puntos res, tendras que Limpiar y Construir porque sino te va a tomar el archivo res anterior.

Pero salvo por eso el archivo de recursos se puede usar sin problemas.

Saludos,

Pancho
Cordoba
Argentina

Antonio Évora Ramírez wrote 59 lines
Buenas Maikel. Como tu comentas es como se hace. Pero lo que yo necesito es que si el modo de compilación es A ponga un icono y si el modo de compilación es B ponga otro icono distinto. Ya lo tengo orquestado para el fondo de la aplicación que cambia en función del modo de compilación pero con el icono no hay manera (o al menos yo no se como). La solución sería que al compilar usará el icono de la aplicación y no el que se cargó al cargar el proyecto. Espero haberme explicado mejor ;-) Un cordial saludo y gracias anticipadas. El 18/6/2016 15:11, "Maikel Enrique Pernía Matos" < perniamatos en infomed.sld.cu> escribió: Si has utilizado Delphi (al menos hasta Delphi7) en lazarus la forma para cambiar el icono de la app es similar: Barra de menu -> Proyecto -> Opciones de proyecto En el diálogo que te muestra en el tabPage "Aplicación" puedes seleccionar tu icono o imagen para icono. Saludos, Maikel El sáb, 18-06-2016 a las 04:01 +0200, Antonio Évora escribió: > Estimad en s colegas. > Llevo varios días intentando cambiar el icono de la aplicación antes de > generar el ejecutable. Es decir, ejecutar un script que cambie el icono > de la aplicación para personalizar el icono de esta según el cliente. Lo > que ocurre es que el icono de la aplicación se carga al cargar el > proyecto (usando el icono del mismo nombre que el proyecto) y aun > cambiando el fichero del icono perdura el que cargo lazarus al cargar el > proyecto. ¿Es esto posible? > > Un cordial saludo y gracias de antemano. > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > http://lists.lazarus-ide.org/listinfo/lazarus-es -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus-es

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160618/fc881d77/attachment.html>

Reply by email

Maximiliano Duarte
to francisco prieto

Lo que quiere es cambiar el icono en tiempo de ejecución. No creo se pueda. Me parece que es parte de la aplicación y no puede ser modificado

Earlier message 85 lines
-----Mensaje original----- De: "francisco prieto" <fajprieto en gmail.com> Enviado el: ‎18/‎06/‎2016 11:58 Para: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus-ide.org> Asunto: Re: [Lazarus-es] Cambiar icono antes de compilar apliación Antonio, Se me ocurre que para lo tuyo podes intentar algo asi... http://www.clubdelphi.com/foros/showthread.php?t=47395 Ojo, el Lazarus tiene un bug y para que te tome correctamente el archivo de recursos tenes que: 1-Ejecutar 2-Limpiar y Construir 3- Dejar tildada solo las opciones Directorio de Salida de Proyecto y Directorio de Fuentes del Proyecto 4- Limpiar y Construir Cada vez que hagas un cambio en los puntos res, tendras que Limpiar y Construir porque sino te va a tomar el archivo res anterior. Pero salvo por eso el archivo de recursos se puede usar sin problemas. Saludos, Pancho Cordoba Argentina El sáb., 18 jun. 2016 a las 10:51, Antonio Évora Ramírez (<aevorar en gmail.com>) escribió: Buenas Maikel. Como tu comentas es como se hace. Pero lo que yo necesito es que si el modo de compilación es A ponga un icono y si el modo de compilación es B ponga otro icono distinto. Ya lo tengo orquestado para el fondo de la aplicación que cambia en función del modo de compilación pero con el icono no hay manera (o al menos yo no se como). La solución sería que al compilar usará el icono de la aplicación y no el que se cargó al cargar el proyecto. Espero haberme explicado mejor ;-) Un cordial saludo y gracias anticipadas. El 18/6/2016 15:11, "Maikel Enrique Pernía Matos" <perniamatos en infomed.sld.cu> escribió: Si has utilizado Delphi (al menos hasta Delphi7) en lazarus la forma para cambiar el icono de la app es similar: Barra de menu -> Proyecto -> Opciones de proyecto En el diálogo que te muestra en el tabPage "Aplicación" puedes seleccionar tu icono o imagen para icono. Saludos, Maikel El sáb, 18-06-2016 a las 04:01 +0200, Antonio Évora escribió: > Estimad en s colegas. > Llevo varios días intentando cambiar el icono de la aplicación antes de > generar el ejecutable. Es decir, ejecutar un script que cambie el icono > de la aplicación para personalizar el icono de esta según el cliente. Lo > que ocurre es que el icono de la aplicación se carga al cargar el > proyecto (usando el icono del mismo nombre que el proyecto) y aun > cambiando el fichero del icono perdura el que cargo lazarus al cargar el > proyecto. ¿Es esto posible? > > Un cordial saludo y gracias de antemano. > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > http://lists.lazarus-ide.org/listinfo/lazarus-es -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

francisco prieto
to Maximiliano Duarte

No Maximiliano fijate lo que dice el primer mail....

*Llevo varios días intentando cambiar el icono de la aplicación antes de generar el ejecutable. Es decir, ejecutar un script que cambie el icono de la aplicación para personalizar el icono de esta según el cliente. *

Asi que con un archivos de recurso deberia ser suficiente.

Saludos,

Pancho
Cordoba
Argentina

El sáb., 18 jun. 2016 a las 22:11, Maximiliano Duarte (<

Show quoted text 101 lines
Lo que quiere es cambiar el icono en tiempo de ejecución. No creo se pueda. Me parece que es parte de la aplicación y no puede ser modificado ------------------------------ De: francisco prieto <fajprieto en gmail.com> Enviado el: ‎18/‎06/‎2016 11:58 Para: Spanish version of Lazarus List <lazarus-es en lists.lazarus-ide.org> Asunto: Re: [Lazarus-es] Cambiar icono antes de compilar apliación Antonio, Se me ocurre que para lo tuyo podes intentar algo asi... http://www.clubdelphi.com/foros/showthread.php?t=47395 Ojo, el Lazarus tiene un bug y para que te tome correctamente el archivo de recursos tenes que: 1-Ejecutar 2-Limpiar y Construir 3- Dejar tildada solo las opciones Directorio de Salida de Proyecto y Directorio de Fuentes del Proyecto 4- Limpiar y Construir Cada vez que hagas un cambio en los puntos res, tendras que Limpiar y Construir porque sino te va a tomar el archivo res anterior. Pero salvo por eso el archivo de recursos se puede usar sin problemas. Saludos, Pancho Cordoba Argentina El sáb., 18 jun. 2016 a las 10:51, Antonio Évora Ramírez (< aevorar en gmail.com>) escribió: > Buenas Maikel. > Como tu comentas es como se hace. Pero lo que yo necesito es que si el > modo de compilación es A ponga un icono y si el modo de compilación es B > ponga otro icono distinto. Ya lo tengo orquestado para el fondo de la > aplicación que cambia en función del modo de compilación pero con el icono > no hay manera (o al menos yo no se como). La solución sería que al compilar > usará el icono de la aplicación y no el que se cargó al cargar el proyecto. > Espero haberme explicado mejor ;-) > > Un cordial saludo y gracias anticipadas. > El 18/6/2016 15:11, "Maikel Enrique Pernía Matos" < > perniamatos en infomed.sld.cu> escribió: > > Si has utilizado Delphi (al menos hasta Delphi7) en lazarus la forma > para cambiar el icono de la app es similar: > Barra de menu -> Proyecto -> Opciones de proyecto > > En el diálogo que te muestra en el tabPage "Aplicación" puedes > seleccionar tu icono o imagen para icono. > > Saludos, > Maikel > > El sáb, 18-06-2016 a las 04:01 +0200, Antonio Évora escribió: > > Estimad en s colegas. > > Llevo varios días intentando cambiar el icono de la aplicación antes de > > generar el ejecutable. Es decir, ejecutar un script que cambie el icono > > de la aplicación para personalizar el icono de esta según el cliente. Lo > > que ocurre es que el icono de la aplicación se carga al cargar el > > proyecto (usando el icono del mismo nombre que el proyecto) y aun > > cambiando el fichero del icono perdura el que cargo lazarus al cargar el > > proyecto. ¿Es esto posible? > > > > Un cordial saludo y gracias de antemano. > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lists.lazarus-ide.org > > http://lists.lazarus-ide.org/listinfo/lazarus-es > > > > -- > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > http://lists.lazarus-ide.org/listinfo/lazarus-es > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > http://lists.lazarus-ide.org/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus-es

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160619/199e4c78/attachment.html>

Reply by email

Jesus Reyes A.
to Maximiliano Duarte: Lo que quiere es cambiar el icono en tiempo de ejecución. No creo se pueda. Me parece…

En Sat, 18 Jun 2016 20:10:56 -0500, Maximiliano Duarte

<maximiliano.duarte en gmail.com> wrote 48 lines
Lo que quiere es cambiar el icono en tiempo de ejecución. No creo se pueda. Me parece que es parte de la aplicación y no puede ser modificado----- De: francisco prieto Enviado el: ‎18/‎06/‎2016 11:58 Para: Spanish version of Lazarus List Asunto: Re: [Lazarus-es] Cambiar icono antes de compilar apliación Antonio, Se me ocurre que para lo tuyo podes intentar algo asi... http://www.clubdelphi.com/foros/showthread.php?t=47395 Ojo, el Lazarus tiene un bug y para que te tome correctamente el archivo de recursos tenes que: 1-Ejecutar 2-Limpiar y Construir 3- Dejar tildada solo las opciones Directorio de Salida de Proyecto y Directorio de Fuentes del >Proyecto 4- Limpiar y Construir Cada vez que hagas un cambio en los puntos res, tendras que Limpiar y Construir porque sino te va a >tomar el archivo res anterior. Pero salvo por eso el archivo de recursos se puede usar sin problemas. Saludos, Pancho Cordoba Argentina El sáb., 18 jun. 2016 a las 10:51, Antonio Évora Ramírez (<aevorar en gmail.com>) escribió: > > Buenas Maikel. > > Como tu comentas es como se hace. Pero lo que yo necesito es que si el > modo de compilación es A >>ponga un icono y si el modo de compilación > es B ponga otro icono distinto. Ya lo tengo orquestado >>para el fondo > de la aplicación que cambia en función del modo de compilación pero con > el icono no >>hay manera (o al menos yo no se como). La solución sería > que al compilar usará el icono de la >>aplicación y no el que se cargó > al cargar el proyecto. > > Espero haberme explicado mejor ;-) > >

Interesante. Como Antonio ha descubierto los modos de compilación no incluyen el apartado de "Recursos" por lo que actualmente esto no es posible. Me dí a la tarea de investigarlo y he dado con un método que al parecer funciona, intenta los siguientes pasos:

1. Eliminar el icono de la aplicación. Mediante el Menú Proyecto->Opciones del proyecto en el apartado "Aplicación" presiona el botón "Quitar Icono", Presiona el botón "Aceptar" para guardar los cambios.

2. Preparar Archivo de proyecto para el nuevo recurso. Mediante el Menú Proyecto->Ver Fuente Proyecto editar el código del archivo .lpr, donde tenemos

{$R *.res}

Editarlo para que quede así (el nombre AppIcon.res es gusto personal):

{$R AppIcon.res}
{$R *.res}

Guardar los cambios.

3. Modificar los modos de construcción.
(a) Mediante el Menú Proyecto->Opciones del proyecto seleccionar el apartado: "Comandos del compilador", en el panel derecho. (b) Selecciona el modo de compilación de la lista en la parte superior del panel derecho.
(c) En apartado "Ejecutar antes de" hacer lo siguiente:
* Desmarcar "Ejecutar", Marcar "Compilar" y "Construir"
* En "Comando" escribir: x:\ruta\a\windres.exe -i
x:\ruta\a\AppIconModoA.rc -o AppIcon.res
(d) Repetir desde (b) para cada modo de compilación existente. (e) Presiona el botón "Aceptar" para guardar los cambios.

y con esto cada vez que compiles, el ejecutable deberá tener el icono que hayas seleccionado, que icono se usa para cada modo de compilación será determinado por los archivos AppIconModoX.rc que deberás crear para cada modo. windres.exe lo encuentras en el directorio "bin" de tu instalación de FPC, entonces ajusta la ruta de manera que Lazarus lo encuentre.

En mi caso, he creado un directorio "res" dentro del directorio del proyecto donde pongo los archivos .ico y .rc, entonces suponiendo que he instalado fpc en c:\Users\Jesus\dev\fpc\3.0.0 la línea de comando sería:

c:\Users\Jesus\dev\fpc\3.0.0\bin\windres.exe -i res\AppIconModoA.rc -o AppIcon.res

AppIcon.res debe coincidir con lo especificado en el paso 2. entonces, solo resta la construcción de cada archivo .rc, es sumamente fácil, el contenido es una sola línea de texto, algo así como:

AppIcon ICON "ModoA.ico"

La primer palabra: AppIcon es lo que recomienda FPC (http://www.freepascal.org/docs-html/prog/progse63.html#x275-29000013.5), pero podría ser un número (ver
https://msdn.microsoft.com/library/windows/desktop/aa381018), por ejemplo:

0 ICON "ModoA.ico"

La segunda palabra: ICON es requerida para un recurso del tipo icono.

y por último, viene el nombre del archivo que contiene el icono, si colocas los archivos .ico, junto a los archivos .rc, no deberían haber problemas. No he intentado con otras rutas.

Al parecer el icono de la aplicación será el primero recurso ICON que se encuentre (esto último es mas bien una corazonada, no he investigado) pero por eso he puesto primero {$R AppIcon.res} que {$R *.res}, esperando que sirva en el caso de que la aplicación haga uso de mas iconos.

Aunque esto funciona, en mi caso y como anécdota personal, me ha costado un pequeño dolor de cabeza porque a pesar de que acá todo se hacía correctamente, la aplicación seguía siendo generada con el icono predeterminado. Y es que no se si tenga algo que ver la instalación de Turtoise svn y git que se meten con la apariencia de los iconos para mostrar el estado de cada archivo y guardarán un cache o que se yo (lo más fácil es echarle la culpa a Windows 10, por que no :)), pero después usando un editor de recursos me di cuenta de que el icono esta siendo incorporado correctamente cada vez, o sí, en efecto algo pasé por alto....

Claro que no es la única solución, seguramente se podrá encontrar en Internet alguna aplicación que cambie el icono del ejecutable una vez que se haya generado, para eso se tendría que usar el apartado: "Ejecutar después de" marcando también "Compilar" y "Construir". Esta alternativa no la he probado, pero debería funcionar :)

Bueno, espero que funcione bien para ti, si lo deseas prueba y comenta...

Saludos.

Jesus Reyes A.

Reply by email

Antonio Evora
to Jesus Reyes A.

Eso es Jesús!!!! Como comentas los recursos no forman parte de los modos de compilación, que por cierto son de lo mejor para personalizar aplicaciones para distintos clientes con 0 esfuerzo. Esta tarde lo pruebo y os cuento.

Como anécdota comentar que el post al que hace referencia Pancho del club Delphi es mio ;-)

Un cordial saludo.

Jesus Reyes A. wrote 158 lines
En Sat, 18 Jun 2016 20:10:56 -0500, Maximiliano Duarte <maximiliano.duarte en gmail.com> escribió: > Lo que quiere es cambiar el icono en tiempo de ejecución. > No creo se pueda. Me parece que es parte de la aplicación y no puede > ser modificado----- > De: francisco prieto > Enviado el: ‎18/‎06/‎2016 11:58 > Para: Spanish version of Lazarus List > Asunto: Re: [Lazarus-es] Cambiar icono antes de compilar apliación > > Antonio, > > Se me ocurre que para lo tuyo podes intentar algo asi... > > http://www.clubdelphi.com/foros/showthread.php?t=47395 > > Ojo, el Lazarus tiene un bug y para que te tome correctamente el > archivo de recursos tenes que: > 1-Ejecutar > 2-Limpiar y Construir > 3- Dejar tildada solo las opciones Directorio de Salida de Proyecto y > Directorio de Fuentes del >Proyecto > 4- Limpiar y Construir > > Cada vez que hagas un cambio en los puntos res, tendras que Limpiar y > Construir porque sino te va a >tomar el archivo res anterior. > > Pero salvo por eso el archivo de recursos se puede usar sin problemas. > > Saludos, > > Pancho > Cordoba > Argentina El sáb., 18 jun. 2016 a las 10:51, Antonio Évora Ramírez > (<aevorar en gmail.com>) escribió: >> >> Buenas Maikel. >> >> Como tu comentas es como se hace. Pero lo que yo necesito es que si >> el modo de compilación es A >>ponga un icono y si el modo de >> compilación es B ponga otro icono distinto. Ya lo tengo orquestado >> >>para el fondo de la aplicación que cambia en función del modo de >> compilación pero con el icono no >>hay manera (o al menos yo no se >> como). La solución sería que al compilar usará el icono de la >> >>aplicación y no el que se cargó al cargar el proyecto. >> >> Espero haberme explicado mejor ;-) >> >> Interesante. Como Antonio ha descubierto los modos de compilación no incluyen el apartado de "Recursos" por lo que actualmente esto no es posible. Me dí a la tarea de investigarlo y he dado con un método que al parecer funciona, intenta los siguientes pasos: 1. Eliminar el icono de la aplicación. Mediante el Menú Proyecto->Opciones del proyecto en el apartado "Aplicación" presiona el botón "Quitar Icono", Presiona el botón "Aceptar" para guardar los cambios. 2. Preparar Archivo de proyecto para el nuevo recurso. Mediante el Menú Proyecto->Ver Fuente Proyecto editar el código del archivo .lpr, donde tenemos {$R *.res} Editarlo para que quede así (el nombre AppIcon.res es gusto personal): {$R AppIcon.res} {$R *.res} Guardar los cambios. 3. Modificar los modos de construcción. (a) Mediante el Menú Proyecto->Opciones del proyecto seleccionar el apartado: "Comandos del compilador", en el panel derecho. (b) Selecciona el modo de compilación de la lista en la parte superior del panel derecho. (c) En apartado "Ejecutar antes de" hacer lo siguiente: * Desmarcar "Ejecutar", Marcar "Compilar" y "Construir" * En "Comando" escribir: x:\ruta\a\windres.exe -i x:\ruta\a\AppIconModoA.rc -o AppIcon.res (d) Repetir desde (b) para cada modo de compilación existente. (e) Presiona el botón "Aceptar" para guardar los cambios. y con esto cada vez que compiles, el ejecutable deberá tener el icono que hayas seleccionado, que icono se usa para cada modo de compilación será determinado por los archivos AppIconModoX.rc que deberás crear para cada modo. windres.exe lo encuentras en el directorio "bin" de tu instalación de FPC, entonces ajusta la ruta de manera que Lazarus lo encuentre. En mi caso, he creado un directorio "res" dentro del directorio del proyecto donde pongo los archivos .ico y .rc, entonces suponiendo que he instalado fpc en c:\Users\Jesus\dev\fpc\3.0.0 la línea de comando sería: c:\Users\Jesus\dev\fpc\3.0.0\bin\windres.exe -i res\AppIconModoA.rc -o AppIcon.res AppIcon.res debe coincidir con lo especificado en el paso 2. entonces, solo resta la construcción de cada archivo .rc, es sumamente fácil, el contenido es una sola línea de texto, algo así como: AppIcon ICON "ModoA.ico" La primer palabra: AppIcon es lo que recomienda FPC (http://www.freepascal.org/docs-html/prog/progse63.html#x275-29000013.5), pero podría ser un número (ver https://msdn.microsoft.com/library/windows/desktop/aa381018), por ejemplo: 0 ICON "ModoA.ico" La segunda palabra: ICON es requerida para un recurso del tipo icono. y por último, viene el nombre del archivo que contiene el icono, si colocas los archivos .ico, junto a los archivos .rc, no deberían haber problemas. No he intentado con otras rutas. Al parecer el icono de la aplicación será el primero recurso ICON que se encuentre (esto último es mas bien una corazonada, no he investigado) pero por eso he puesto primero {$R AppIcon.res} que {$R *.res}, esperando que sirva en el caso de que la aplicación haga uso de mas iconos. Aunque esto funciona, en mi caso y como anécdota personal, me ha costado un pequeño dolor de cabeza porque a pesar de que acá todo se hacía correctamente, la aplicación seguía siendo generada con el icono predeterminado. Y es que no se si tenga algo que ver la instalación de Turtoise svn y git que se meten con la apariencia de los iconos para mostrar el estado de cada archivo y guardarán un cache o que se yo (lo más fácil es echarle la culpa a Windows 10, por que no :)), pero después usando un editor de recursos me di cuenta de que el icono esta siendo incorporado correctamente cada vez, o sí, en efecto algo pasé por alto.... Claro que no es la única solución, seguramente se podrá encontrar en Internet alguna aplicación que cambie el icono del ejecutable una vez que se haya generado, para eso se tendría que usar el apartado: "Ejecutar después de" marcando también "Compilar" y "Construir". Esta alternativa no la he probado, pero debería funcionar :) Bueno, espero que funcione bien para ti, si lo deseas prueba y comenta... Saludos. Jesus Reyes A. _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus-es

Reply by email

Ismael L. Donis Garcia
to Antonio Évora

Este comentario tuyo me ha traído una duda.

Lazarus no permite tener un icono diferente en cada formulario?

Saludos
========
| ISMAEL |
========
Only for the small landowners and Cubans companies Website: www.sisconge.byethost15.com
www.sisconge.hol.es

Earlier message 25 lines
----- Original Message ----- From: Antonio Évora To: Spanish version of Lazarus List Sent: Monday, June 20, 2016 6:27 PM Subject: Re: [Lazarus-es] Cambiar icono antes de compilar apliación El 19/06/16 a las 07:41, Jesus Reyes A. escribió: Bueno, espero que funcione bien para ti, si lo deseas prueba y comenta... Funciona a la perfección. Solo que con las instrucciones el icono que aparece en la ventana aparece el genérico que se usa cuando no hay uno definido, que lo solucionamos añadiendo: Application.Icon.LoadFromResourceName(HInstance,'AppIcon'); Después de Application.Initialize; de fichero .lpr Como nota comentar que en W7 no se refresca correctamente el icono, el sistema lo tendrá en cache y no lo refresca. Podemos comprobar que todo es correcto copiando el ejecutable en otra ubicación lo que hará que muestre el verdadero icono, también se puede ver en el icono del formulario. Un cordial saludo y mil gracias a tod en s. ------------------------------------------------------------------------------

Reply by email

Jesus Reyes A.
to Ismael L. Donis Garcia

En Mon, 20 Jun 2016 18:23:23 -0500, Ismael L. Donis Garcia

<slibre en citricos.co.cu> wrote 6 lines
Este comentario tuyo me ha traído una duda. Lazarus no permite tener un icono diferente en cada formulario? Saludos ======== | ISMAEL | ========

Aquí yo de metiche.

Si lo permite, cada formulario tiene una propidad: icon que sirve precisamente para eso. En caso de que el formulario no defina un icono en particular, se usará el definido por al aplicación.

Show quoted text 16 lines
> > El 19/06/16 a las 07:41, Jesus Reyes A. escribió: >> Bueno, espero que funcione bien para ti, si lo deseas prueba y >> comenta... > Funciona a la perfección. Solo que con las instrucciones el icono que > aparece en la ventana aparece el genérico que se usa cuando no hay uno > >>definido, que lo solucionamos añadiendo: > Application.Icon.LoadFromResourceName(HInstance,'AppIcon'); > > Después de Application.Initialize; de fichero .lpr > > Como nota comentar que en W7 no se refresca correctamente el icono, el > sistema lo tendrá en cache y no lo refresca. Podemos comprobar que todo > >>es correcto copiando el ejecutable en otra ubicación lo que hará que > muestre el verdadero icono, también se puede ver en el icono del > formulario.

Si, de alguna manera eso fue lo que yo descubrí. Da un poco de alivio saber que no soy el único :).

Saludos.

Jesus Reyes A.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160620/75847310/attachment.html>

Reply by email