• Publicidad

PAR, Exe, GUI e icono

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

PAR, Exe, GUI e icono

Notapor jortiz_90 » 2011-02-07 11:03 @502

Saludos

Tengo la siguiente duda: he hecho varios ejecutables con PAR agregándoles iconos. Todos estos ejecutables tienen una interfaz gráfica hecha con Win32::GUI. Lo que me molesta es el icono de las ventanas. La idea es extraer el icono del ejecutable generado y agregárselas, pero no sé cómo.

¿Alguna ayuda?
jortiz_90
Perlero nuevo
Perlero nuevo
 
Mensajes: 17
Registrado: 2011-02-01 11:56 @539
Ubicación: Santiago, Chile

Publicidad

Re: PAR, Exe, GUI e icono

Notapor explorer » 2011-02-07 13:44 @614

Supongo que no te refieres a la opción --icon=icono.ico del pp...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: PAR, Exe, GUI e icono

Notapor jortiz_90 » 2011-02-07 14:06 @629

Supones bien, hago el ejecutable con opcion de agregar un icono. El problema es que a las GUI les quiero poner el mismo icono con SetIcon y no tener que andar copiando el mismo icono en las carpetas donde tenga el ejecutable, que es lo que he estado haciendo

Edit: con Win32::Exe::IconFile es posible obtener el icono de un ejecutable, pero una interfaz gráfica no sé si los acepta, porque se supone debieran ser en Win32::GUI::Bitmap o Icon, ¿cómo los transformo?

Edit2: leyendo la documentación de Win32::GUI::Bitmap me encontré con esto:

Sintáxis: [ Descargar ] [ Ocultar ]
  1. If FILENAME is a string, then it is first tried as a resource name, then a filename. If FILENAME is a number it is tried as a resource identifier. 
  2.  
  3. Resources are searched for in the current exe (perl.exe unless you have packed your application using perl2exe, PAR or similar), then in the Win32::GUI GUI.dll, and finally as an OEM resource identifier 


Luego, ¿qué resource identifier es el icono del exe?
jortiz_90
Perlero nuevo
Perlero nuevo
 
Mensajes: 17
Registrado: 2011-02-01 11:56 @539
Ubicación: Santiago, Chile

Re: PAR, Exe, GUI e icono

Notapor jortiz_90 » 2011-02-08 07:57 @373

Estuve leyendo la documentación de Win32::GUI y hay una función en el módulo Reference::Methods que permite cargar recursos, LoadResource(Name), pero llego a esto y no sé qué hacer "Note that packing resources into a PAR executable will not work. You must first pack the resources into par.exe then use PAR to build your executable."

Eso sería la solución que estoy buscando: agrego la imagen al exe y luego la cargo. ¿Alguna ayuda?
jortiz_90
Perlero nuevo
Perlero nuevo
 
Mensajes: 17
Registrado: 2011-02-01 11:56 @539
Ubicación: Santiago, Chile

Re: PAR, Exe, GUI e icono

Notapor jortiz_90 » 2011-02-08 09:17 @428

Ya lo solucioné.

Agregé la opción --addfile en la creación del ejecutable; luego rescato el archivo agregado con este código:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use PAR;
  2.  
  3. my $path = sprintf("%s/inc",$ENV{'PAR_TEMP'});
  4. my $icono = Win32::GUI::LoadImage($path.'/icono.ico',1);
  5. .
  6. .
  7. .
  8. $ventana->SetIcon($icono,0);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Solución simple, pero la idea era usar el mismo icono.
jortiz_90
Perlero nuevo
Perlero nuevo
 
Mensajes: 17
Registrado: 2011-02-01 11:56 @539
Ubicación: Santiago, Chile

Re: PAR, Exe, GUI e icono

Notapor explorer » 2011-02-08 11:08 @506

Pues... genial... no solo por haber encontrado la solución, sino por publicarla.

Muchas gracias en nombre de los que estarán buscando esta solución.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: PAR, Exe, GUI e icono

Notapor jortiz_90 » 2011-02-08 11:25 @517

No está demás decir que la solución sirve para el transporte de cualquier archivo en .exe, no solo de un icono, pues --addfile se puede repetir y es la dirección de $path donde se almacenan esos archivos.
jortiz_90
Perlero nuevo
Perlero nuevo
 
Mensajes: 17
Registrado: 2011-02-01 11:56 @539
Ubicación: Santiago, Chile


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado