Page 1 of 1

error hb_vmDO() y SkinButtons()

PostPosted: Fri Nov 20, 2009 7:00 pm
by fgondi
Me aparece el siguiente GPF con FWH 9.10

Símbolo item esperado desde hb_vmDO()

En concreto me aparece al llamar a "oRaster:AcquireMulti()" del objeto Lead Tools (Este método recoge del escaner la(s) hoja(s) depositadas en él)

Al compilar con la versión de FWH 9.08 funciona correctamente.
Al compilar con la versión de FWH 9.09 funciona correctamente.
Al compilar con FWH 9.10 y xHarbour de la versión 9.09 no funciona

Y al compilar con la FWH 9.10 pero quitando la línea de código "SkinButtons()", que tengo al compiezo de la aplicación, funciona correctamente. Es incluir esa línea y deja de funcionar.

No sucede en todos los escaner. Al llamar a la lecturas de hojas del escaner, el escaner muestra un cuadro de dialogo propio con el porcentaje que lleva leído.
El error coincide con los escaner que muestran esa ventana con un botón para cancelar el escaneo.
Los escaner que muestran la ventana pero no contienen el botón para cancelar (se cancela pulsando la "x" del cuadro de diálogo) funciona correctamente.

Re: error hb_vmDO() y SkinButtons()

PostPosted: Sat Nov 21, 2009 8:25 am
by Antonio Linares
Fernando,

La función SkinButtons() cambia el procedimiento de ventana propio de los botones de Windows por uno definido por nosotros. Puede ser que en esa aplicación que comentas se realice algo que al usar nuestro código genere un conflicto y de ahí el error.

Una solución (temporal) sería que implementemos una función que desactive el efecto de SkinButtons(), restaurando el procedimiento original de los botones. Asi al perder foco tu aplicación, ó antes de comenzar a usar el escaner, restaurariamos el procedimiento original de Windows.

Re: error hb_vmDO() y SkinButtons()

PostPosted: Sat Nov 21, 2009 9:26 am
by fgondi
Antonio,

Gracias por la respuesta.

La solución (temporal) que he optado es por desabilitar la llamada a SkinButtons(). Es una pena porque da un toque mas vistoso a los botones, pero algo tenía que hacer.

En cuanto a la función para desactivar skinbuttons, me parece que mas que temporal es la solución acertada.

Re: error hb_vmDO() y SkinButtons()

PostPosted: Sat Nov 21, 2009 10:07 pm
by Antonio Linares
Fernando,

Hemos intentando modificar la función SkinButtons() para que al llamarla nuevamente desactive los skins, y asi alternativamente (activar/desactivar) en sucesivas llamadas, pero parece que origina un problema interno en Windows y termina la aplicación.

Teniamos previsto enviarte hoy la función para que la probases, pero desafortunadamente no puede ser :-(

Re: error hb_vmDO() y SkinButtons()

PostPosted: Mon Nov 23, 2009 7:48 am
by fgondi
Antonio,

Muchas gracias, por la respuesta.

Da gusto trabajar con vosotros

Re: error hb_vmDO() y SkinButtons()

PostPosted: Wed Nov 25, 2009 8:51 pm
by fgondi
Hola Antonio,

¿Qué tal va la función?