Problemas con FWH 16.03

User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Problemas con FWH 16.03

Post by fgondi »

Tengo varios problemas al ejecutar las aplicaciones en windows XP

1º.- El menú se ha separado mucho en los valores que muestra.

2º.- Sin embargo, dentro de un menú en concreto, se ve mas apretadas las opciones (esto me pasa en todos los sistemas operativos)

3º.- Me genera un gpf al borrar un xbrowse en la función GDIP_DELETEIMAGE

Code: Select all

Error irrecuperable 6005: Exception error:

    Exception Code:C0000005 ACCESS_VIOLATION
    Exception Address:01F03E92
    EAX:01F001A8  EBX:00000000  ECX:01F03E90  EDX:01F03E90
    ESI:00000000  EDI:010B1785  EBP:0012F93C
    CS:EIP:001B:01F03E92  SS:ESP:0023:0012F924
    DS:0023  ES:0023  FS:003B  GS:0000
    Flags:00010246
    Exception Parameters: 00000001 01F1F1A9
    CS:EIP: F0 01 A8 01 F0 01 00 00 00 00 12 12 12 12 03 00
    SS:ESP: 0047C023 00000001 010B1785 01F03E90 01F03E90 01F03E90 0145FD98 0052197D 0000005B 00000000 00000000 00000000 00000000 0051F95D 00000001 00C85DDB

    C stack:
    EIP:     EBP:       Frame: OldEBP, RetAddr, Params...
    01F03E92 0012F93C   0145FD98 0052197D 0000005B 00000000 00000000 00000000 00000000 0051F95D 00000001 00C85DDB


Modules:
00400000 01366000 XXXXXXXXXXXXXXXX
7C910000 000B8000 C:\WINDOWS\system32\ntdll.dll

....
Called from GDIP_DELETEIMAGE(0)
Called from PALBMPFREE(1066) in .\source\classes\BITMAP.PRG
Called from TGHE_XBRWCOL:END(9679) in D:\five\comun\Incluir\xbrowse.prg
He estado buscando por el foro y no encuentro como solucionarlo.

Otros problemas que tenía, ya los conseguí resolver usando la librería RTL del siguiente enlacé
http://forums.fivetechsupport.com/viewt ... on#p189248
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Problemas con FWH 16.03

Post by karinha »

João Santos - São Paulo - Brasil
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Problemas con FWH 16.03

Post by Antonio Linares »

Fernando,

Puedes añadir esta función a tu aplicación y ver si te aparece el MessageBox() ?

Code: Select all

#pragma BEGINDUMP
#include <hbapi.h>

HB_FUNC ( GDIP_DELETEIMAGE )
{
   void * pImage = ( void * ) hb_parptr( 1 );

   if( ! pImage )
      MessageBox( 0, "null pImage", "ok", 0 );
      
   hb_ret();
}

#pragma ENDDUMP
 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: Problemas con FWH 16.03

Post by fgondi »

Ya lo he probado.

Y no aparece el mensaje.
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Problemas con FWH 16.03

Post by Antonio Linares »

Fernando,

El GPF solo ocurre en XP ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Problemas con FWH 16.03

Post by cnavarro »

fgondi wrote:Tengo varios problemas al ejecutar las aplicaciones en windows XP

1º.- El menú se ha separado mucho en los valores que muestra.

2º.- Sin embargo, dentro de un menú en concreto, se ve mas apretadas las opciones (esto me pasa en todos los sistemas operativos)
Fernando, si tienes el equipo a mano ( con Windows XP )

qué te devuelve la function IsWinXP()

Puedes poner una imagen?
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: Problemas con FWH 16.03

Post by fgondi »

>qué te devuelve la function IsWinXP()
.T.

Windows XP
Image

Resto de operativos
Image

(La calidad de las imagenes no es buena, pero lo que quiero que veáis es el espaciado entre las opciones)

>2º.- Sin embargo, dentro de un menú en concreto, se ve mas apretadas las opciones (esto me pasa en todos los sistemas operativos)
Lo he conseguido solucionar multiplicando por 1.2 en lugar de por 1 en pdmenu.prg

Code: Select all

         ChgMenuMea( pMitStruct, Round( nWText * nFw, 0 ), ;
                     Round( Abs(nHItem) * GetnHeightItem() * IF( !lHFont, 1.5, 1.2 ), 0 ) ) //fgondi
 
>El GPF solo ocurre en XP ?
Sí. solo ocurre en XP, en los demas operativos, W7 y W10 he probado, funciona bien.
Lo raro es que en otras partes del programa, también llamo a la misma función y no da error.
Y la versión anterior que tenía 14.12, funcionaba bien.
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Problemas con FWH 16.03

Post by cnavarro »

Fernando, has modificado el tipo de letra o el tamaño en las propiedades del sistema para el font de los menus?

Puedes ponerme una imagen del menu que tiene por ejemplo el notepad?
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: Problemas con FWH 16.03

Post by fgondi »

Las pruebas las he realizado sobre 2 equipos con windows XP y en los dos pasa lo mismo.

El tipo de fuente no está cambiado en ninguno de los equipos.
Si es cierto, que un equipo tiene un monitor grande y se ve en panorámico.
Por eso he probado en otro equipo con XP e imágen normal.

Mañana pruebo en otros equipos de otro cliente, que tiene varios equipos con XP.

En la versión anterior que tengo, se multiplicaba por 0,9 y ahora se multiplica por 1

Code: Select all

Round( nWText * nFw, 0 ) //Siendo nFw la variable que tiene valor 1
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Problemas con FWH 16.03

Post by cnavarro »

Fernando, esa variable se implementó para que los usuarios que cambiaban el font del menu en el sistema ( por ejemplo, problemas de visión ) pudieran ajustarlo
En sucesivas pruebas con varios usuarios se consiguió ajustar el código para que funcionara bien en Windows XP, Server 2003 y TS, y hasta ahora ya nadie ha transmitido ningún problema.
Ponme por favor como comparativa el menú que obtienes y el que genera una aplicacion Windows en ese equipo ( por ejemplo Notepad )
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Problemas con FWH 16.03

Post by Antonio Linares »

Fernando,

Que código tienes en

Called from TGHE_XBRWCOL:END(9679) in D:\five\comun\Incluir\xbrowse.prg ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: Problemas con FWH 16.03

Post by fgondi »

Antonio,

Code: Select all

   for nFor := 1 to Len( ::aBitmaps )
      PalBmpFree( ::aBitmaps[ nFor, BITMAP_HANDLE ], ::aBitmaps[ nFor, BITMAP_PALETTE ] )  <---
   next
En equipos XP y sólo equipos XP, me aparece el mismo mensaje mas veces:

Code: Select all

Called from GDIP_DELETEIMAGE(0)
Called from PALBMPFREE(1066) in .\source\classes\BITMAP.PRG
Cristobal,
Lo he probado en mas equipos XP y me pasa en todos:
Imagen del notepad de uno de los equipos
Image
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Problemas con FWH 16.03

Post by Antonio Linares »

Fernando,

Puedes probar este cambio ?

Code: Select all

for nFor := 1 to Len( ::aBitmaps )
      PalBmpFree( ::aBitmaps[ nFor, BITMAP_HANDLE ], ::aBitmaps[ nFor, BITMAP_PALETTE ] )  
      ::aBitmaps[ nFor, BITMAP_HANDLE ] := 0
   next
y usando la función GDIP_DELETEIMAGE() modificada, deberíamos ver un mensaje si se está intentando
destruir el mismo handle varias veces (pues llegaría como cero). Me da que por ahi puede venir el error.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Problemas con FWH 16.03

Post by cnavarro »

Fernando, a ver si puedes poner en la misma imagen tu menu y el del notepadad uno encima del otro para poder compararlos

Es la mejor forma de saber dónde puede estar tu problema
Algo asi:

Image
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: Problemas con FWH 16.03

Post by fgondi »

Antonio,

Con _ en xbrowse y GDIP_DELETEIMAGE, sigue si mostrar ningún mensaje.
Tampoco genera ningún GPF.

Cristobal,

Image
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
Post Reply