Resource file to accept Animated Cursor

Other General Resources like icon sets, sound files etc.,

Moderator: Rathinagiri

User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Resource file to acept Animated Cursor

Post by danielmaximiliano »

Hola Pablo :
investigando en BUILD.BAT veo que genera nombres equivocados para la instalacion de HMG.3.1.5 Test.
si dejamos la instalacion actúal esta se hace sobre C:\HMG.3.1.5

edito Build.bat y veo esto.

Code: Select all

rem ******************************************************************************
rem COMPILE RESOURCES
rem ******************************************************************************

	echo #define HMGRPATH %HmgPath%\RESOURCES > _hmg_resconfig.h
	COPY /b %HMGPATH%\resources\hmg.rc+%~n1.rc+%HMGPATH%\resources\filler _temp.rc >NUL
	windres -i _temp.rc -o _temp.o >windres.log 2>&1
el contenido de _hmg_resconfig.h

Code: Select all

#define HMGRPATH C:\hmg\RESOURCES 
tambien se genera un archivo HMG.RC con parte de este contenido.

Code: Select all

#include "_hmg_resconfig.h"

// MANIFEST FOR CREATE 'XP-STYLE' APPLICATIONS

1 24 HMGRPATH\WindowsXP.Manifest

HMG_FINGER		CURSOR		HMGRPATH\FINGER.CUR
HMG_DRAGLIST		CURSOR		HMGRPATH\draglist.cur
HMG_DRAGUP		CURSOR		HMGRPATH\dragup.cur
HMG_DRAGDOWN		CURSOR		HMGRPATH\dragdown.cur
como se ve las rutas que estan dentro de estos archivos estan mal. una correccion de Build.bat corregira estos errores.
por ahora voy a seguir revisando las posibles fallas del archivo de recursos
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Resource file to acept Animated Cursor

Post by Pablo César »

danielmaximiliano wrote:

Code: Select all

#include "_hmg_resconfig.h"

// MANIFEST FOR CREATE 'XP-STYLE' APPLICATIONS

1 24 HMGRPATH\WindowsXP.Manifest

HMG_FINGER		CURSOR		HMGRPATH\FINGER.CUR
HMG_DRAGLIST		CURSOR		HMGRPATH\draglist.cur
HMG_DRAGUP		CURSOR		HMGRPATH\dragup.cur
HMG_DRAGDOWN		CURSOR		HMGRPATH\dragdown.cur
como se ve las rutas que estan dentro de estos archivos estan mal. una correccion de Build.bat corregira estos errores.
Hola Daniel, tambien pude visualizar esos archivos, pero no me parece que estén incorrectos los paths, porque hacen parte del sistema como default sin precisar tener-los que mincluir en el RC del proyecto.

Pero sin duda alguna ya sabemos que el windres es responsable por generar tal archivo _temp.o pero no sé donde es utilizado para formar el ejecutable. No sé como funciona ese _temp.o :?
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Resource file to acept Animated Cursor

Post by Pablo César »

Estaba viendo que si coloco en el RC como ANICURSORS y compilo, puedo observar en el _temp.o es generado pero la imagen no viene en el ejecutable. Podria esto ser una falta de interpretacion junto al compilador de resource en si ?

El GNU windres.exe (GNU Binutils) que estamos usando es la version 2.22, y al editar el archivo _temp.o observé lo siguiente:
<assembly
xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
name="HMG"
processorArchitecture="x86"
version="5.1.0.0"
type="win32"/>
<description>Windows Shell</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
Esta aplicación fué compilada/generada por Roberto, Claudio o alguien de HMG ?

De todas formas, envié un mensaje a: http://www.sourceware.org/bugzilla/ y espero obtener respuesta.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Resource file to acept Animated Cursor

Post by danielmaximiliano »

Pablo :
míra este ejemplo de minigui :

C:\MiniGUI\SAMPLES\Applications\Reservation\Msg_menu.Prg
C:\MiniGUI\SAMPLES\BASIC\MsgMenu\DEMO.PRG
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Resource file to acept Animated Cursor

Post by danielmaximiliano »

Pablo :
Perdón no me habia dado cuenta de HMGRPATH esta definido anteriormente en _hmg_resconfig.h

Code: Select all

#define HMGRPATH C:\hmg\RESOURCES 
con respecto a WindRes aqui esta la documentacion detallada.
http://sourceware.org/binutils/docs/bin ... ndres.html
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Resource file to acept Animated Cursor

Post by Pablo César »

danielmaximiliano wrote:míra este ejemplo de minigui :

C:\MiniGUI\SAMPLES\Applications\Reservation\Msg_menu.Prg
C:\MiniGUI\SAMPLES\BASIC\MsgMenu\DEMO.PRG
Si Daniel, estes ejemplos ya los habia visto. Inclusive son relativo a como cargarlos en un form como un gif o como una imagen. Ya que intentar abrirlo en un componente IMAGE el archivo .ani no irá abrir-lo, pero con esa funcion ICONANIMATE en C funciona. No probé com BosTaurus, pero este es otra cuestión. Ahora lo que me interesa saber es la raiz de porque no carga la imagen .ani de dentro del ejecutable, asi como lo hace con POINTER como CURSOR cargando el archivo Move-32.cur.
danielmaximiliano wrote:con respecto a WindRes aqui esta la documentacion detallada.
http://sourceware.org/binutils/docs/bin ... ndres.html
Gracias por este articulo, tambien ya lo habia leído, lo que queria encontrar el código fuente de windres.c y lo hé encontrado.

Ya hice algunas pruebas y por lo que veo, el problema no está en el windres, apesar de el mensaje de error sea proveniente de aplicativo. Y explico porqué llegué a esa conclusion:

Como viste, el Build.bat adjunta 3 archivos RC creando un _temp.res que después pasa por el windres.exe y creando atravez dél el archivo _temp.o. Pero si sigues más abajo en "CALL HBMK2" donde se construye el ejecutable del proyecto, verás que utiliza el archivo hmg.hbc del directorio HMG. Si lo abres, al final del archivo verás:

sources=${hb_curdir}_temp.o

Yo hice una prueba y reeditando el archivo hmg.hbc, para:

sources=${hb_curdir}_temp.rc

Substituyendo ese archivo y compilé la aplicación sin cualquier error de compilación. De esta vez probé en el RC con:

MAGGY ANICURSORS Maggy.ani
Lo único que volvió a no mostrar Maggy como pontero del mouse.

Después hice otra prueba con:
MAGGY CURSOR Maggy.ani
Pero mismo sin la intervención del windres.exe, me originó el siguinte mensaje de error:
windres: cursor file `Maggy.ani' does not contain cursor data
hbmk2: Compilando recursos...
windres.exe: cursor file `Maggy.ani' does not contain cursor data
hbmk2[Demo]: Erro: Ao executar o compilador de recursos. 1
windres.exe -Ic:/hmg.3.1.5/harbour/include -I. -Ic:/hmg.3.1.5/include C:/hmg.3.1.5/SAMPLES/MoveWindow/_temp.rc -O coff -o .hbmk/win/mingw/_temp.reso
Es decir, todo indica que todo sea culpa del hbmk2.exe que no reconoce el archivo .ani.
Porque si le pongo cualquier otra denominacion que no sea CURSOR, funciona.

Ya estoy casi desistiendo de esta idea de agrupar el archivo .ani en el RC.

Tengo otra idea para contornar este problema. Si la cuestión es cuando el archivo .ani no está acompañado con el ejecutable, la aplicación poderia verificar si el archivo .ani se encuentra disponible o no. Caso no exista el archivo .ani, que la aplicación misma lo cree. Esto se puede hacer con las funcion de FCREATE (funciones de bajo nivel) em modo binário. Claro que para esto precisaria leer byte por byte del archivo .ani y copiarlo em modo hexadecimal/texto para dentro del PRG. Por ser un archivo no tan grande, puede hacerse un PRG exclusivo para este fin.

Voy presentar este problema en el forum do Harbour, pueda ser que obtenga respuestas.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Carlos Britos
Posts: 245
Joined: Sat Aug 02, 2008 5:03 pm

Re: Resource file to acept Animated Cursor

Post by Carlos Britos »

danielmaximiliano wrote:Pablo :
míra este ejemplo de minigui :

C:\MiniGUI\SAMPLES\Applications\Reservation\Msg_menu.Prg
C:\MiniGUI\SAMPLES\BASIC\MsgMenu\DEMO.PRG
Hola
Ese codigo lo hize tiempo atras y siempre tuve el problema de cargar el recurso .ani desde el rc.
El problema es el mismo tanto con minGW como con Borland, por lo que creo que la cuestion esta en windows. Pero no tengo idea de como hacerlo andar.
Regards/Saludos, Carlos (bcd12a)
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Re: Resource file to acept Animated Cursor

Post by Pablo César »

Carlos Britos wrote:
danielmaximiliano wrote:Pablo :
míra este ejemplo de minigui :

C:\MiniGUI\SAMPLES\Applications\Reservation\Msg_menu.Prg
C:\MiniGUI\SAMPLES\BASIC\MsgMenu\DEMO.PRG
..//..

Ese codigo lo hize tiempo atras y siempre tuve el problema de cargar el recurso .ani desde el rc.
Ahh es cierto Carlos, vos tenés tu participación en estos ejemplos. Ya que tocaste en el asunto, la HB_FUNC (ICONANIMATE) tiene este parametro (en rojo)

SendMessage(h,2200,(WPARAM)STM_SETIMAGE,(LPARAM)IMAGE_ICON);

poderia ser disponibilizado através de parametro, digamos en forma de entero que serviria para graduar la velocidad. Veo que titila un poco en la ejecucion.
El problema es el mismo tanto con minGW como con Borland, por lo que creo que la cuestion esta en windows.
Gracias por compartir tu informacion, lo que veo es que con MinGW usa el windres.exe y en BCC utiliza el brc32.exe pero pueda ser que el problema esté en la compilacion del resorce, porque ambas versiones son antiguas. Fijate que el Borland Resource Compiler / Binder es de la version 5.40 Copyright (c) 1992, 1999. Y segundo la instruccion que Daniel nos indicó para lectura:

http://msdn.microsoft.com/en-us/library ... 85%29.aspx

En este articulo de MSDN, que dice que se utiliza CURSOR para cursores animados, pero vemos que eses compiladores de recursos dan error, no aceptan... :(

Gracias, por tu interés, cualquier información es bien venida. :)
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Resource file to acept Animated Cursor

Post by danielmaximiliano »

Hola Pablo :
Lindo tema tocaste con Resource File.

te dejo estos enlaces muy bueno para leer y aprender, hoy justo comienzan mis dias de trabajo semanal; pero desp de las 17 ando de nuevo por aca.

http://msdn.microsoft.com/en-us/librar ... urn false;
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Resource file to acept Animated Cursor

Post by danielmaximiliano »

Pablo César wrote: Como viste, el Build.bat adjunta 3 archivos RC creando un _temp.res que después pasa por el windres.exe y creando atravez dél el archivo _temp.o. Pero si sigues más abajo en "CALL HBMK2" donde se construye el ejecutable del proyecto, verás que utiliza el archivo hmg.hbc del directorio HMG. Si lo abres, al final del archivo verás:

sources=${hb_curdir}_temp.o
aca tenes repuesta a este comentario : http://mirrors.zoreil.com/webclub.kcom. ... ls/rc.html

sobre Resources tenes que leer Resource ID : http://mirrors.zoreil.com/webclub.kcom. ... /icon.html
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Post Reply