In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Explicaci

Foro público de Xailer en español
Responder
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Explicaci

Mensaje por jose.luis »

Hola,
Mirando la imagen que os acompaño...
¿Donde está el punto en el cual se genera el GPF?
Es que me está apareciendo un GPF en un formulario y no se por donde empezar
a mirar el fallo.
Quedo muy agradecido por vuestra ayuda.
Saludos,
José Luis Capel


Attached files
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Explicaci

Mensaje por jfgimenez »

José Luis,
> Mirando la imagen que os acompaño...
>
> ¿Donde está el punto en el cual se genera el GPF?
Esa ventana muestra un 'callstack' de las últimas 20 líneas; no muestra más
para evitar llenar la pantalla. Pero ten en cuenta que ahí sólo aparecen las
líneas de código PRG, es decir, si hay alguna función escrita en C, se
mostrará con un número de línea 0, pero si esta función llama a su vez a
otras funciones en C, ahí no aparecen.
Estoy viendo la línea donde tienes el GPF, y quizás el problema sea que la
propiedad ::oDataField del objetoTDBBrwColumn no está asignada. Por favor,
compruebalo y dímelo para corregirlo.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Explicaci

Mensaje por jose.luis »

José,
Si esto que comentas...
> Estoy viendo la línea donde tienes el GPF, y quizás el problema sea que la
> propiedad ::oDataField del objetoTDBBrwColumn no está asignada. Por favor,
> compruebalo y dímelo para corregirlo.
Pudiera ser el causante (y lo digo con cierta cautela)... creo que puede
deberse a una asignación del evento onGetData de una columna. Concretamente
hago esto:
::oVistaSeleccion:aCols[2]:onGetData := {|a,b,c| c := IIF( b == 0, 1,
IIF( b == 1,2,3)), b := "" }
Aquí estoy asignado c (el número de imagen de la imagelist del browse) a un
valor determinado.
Además, para evitar que también aparezca en la columna el valor del campo
(b, en este caso) lo pongo a "", es decir cambio de numérico a cadena vacía.
El caso es que los errores que he reportado pasan de tanto en tanto y no he
podido ver una relación causa efecto evidente.
Pero tampoco creo que vengan los tiros por aquí por que acabo de hacer la
prueba con este código
::oVistaSeleccion:aCols[2]:onGetData := {|a,b,c| c := IIF( b == 0, 1,
IIF( b == 1,2,3)) }
Y sigue ocurriendo lo mismo.
Todas las columnas tienen su objeto oDataField asignado. Se está utilizando
un MemDataSet con dbBrowse.
El gpf de la imagen me está ocurriendo en un formulario con un dbbrowse y
dos botones. Concretamente salta el GPF al pulsar sobre uno de los botones.
He puesto un ALTD justo en la primera linea del evento onclick pero parace
ser que el GPF salta antes de llegar a ese punto de depurado. He intentado
reproducir ese error o gpf en un ejemplo simple sin resultado.
Cualquier ayuda o sugerencia será muy agradecida ya que no se por donde
mirar por que no tengo nada más que mi código para mirar... y el gpf no se
produce, por lo visto, en mi código, aunque mi código lo puede provocar...
Saludos,
José Luis Capel
PD: espero haberme explicado bien... que no siempre es fácil.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:[email=463865d2@ozsrv2.ozlan.local...]463865d2@ozsrv2.ozlan.local...[/email]
> José Luis,
>
>> Mirando la imagen que os acompaño...
>>
>> ¿Donde está el punto en el cual se genera el GPF?
>
> Esa ventana muestra un 'callstack' de las últimas 20 líneas; no muestra
> más para evitar llenar la pantalla. Pero ten en cuenta que ahí sólo
> aparecen las líneas de código PRG, es decir, si hay alguna función escrita
> en C, se mostrará con un número de línea 0, pero si esta función llama a
> su vez a otras funciones en C, ahí no aparecen.
>
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info
>
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Explicaci

Mensaje por jfgimenez »

José Luis,
entiendo que este tipo de problemas suele ser bastante complicado de
solucionar. Te aconsejo que empieces probando una cosa: cambia los bloques
de código de los eventos por métodos. Parece una tontería, pero alguna veces
se pueden producir errores por el valor de retorno de un evento, que en el
caso de un bloque de código es el resultado de la última expresión que
contenga. Al cambiarlo por un método, es mucho más fácil ver lo que tiene en
el comando RETURN.
Aparte de eso, te agradecería que me enviaras un ejemplo donde se de el
problema. Así podría seguirle la pista hasta dar con lo que lo esté
provocando.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Explicaci

Mensaje por jose.luis »

José,
Mirando este 'CallStack'... ¿es posible que algo no esté bien?
No te puedo mostrar todo el 'CallStack' por que no se puede copiar al
cortapapeles.
Cualquier ayuda o sugerencia queda superagradecida.
Saludos,
José Luis Capel
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:46387111$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> José Luis,
>
> entiendo que este tipo de problemas suele ser bastante complicado de
> solucionar. Te aconsejo que empieces probando una cosa: cambia los bloques
> de código de los eventos por métodos. Parece una tontería, pero alguna
> veces
> se pueden producir errores por el valor de retorno de un evento, que en el
> caso de un bloque de código es el resultado de la última expresión que
> contenga. Al cambiarlo por un método, es mucho más fácil ver lo que tiene
> en
> el comando RETURN.
>
> Aparte de eso, te agradecería que me enviaras un ejemplo donde se de el
> problema. Así podría seguirle la pista hasta dar con lo que lo esté
> provocando.
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info
>
>


Attached files
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Explicaci

Mensaje por jose.luis »

José,
Disculpa mi reiteración.
Sigo buscando por que me aparece el GPF.
Ahora he aislado en ese browse todo el código que pudiera modificar el
browse (aspecto, ongetdata, etc).
Me aparece el GPF que hay en la imagen. Aparentemente parece otro.
¿De donde puede venir?
Saludos y gracias por tu ayuda.
José Luis Capel
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:46387111$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> José Luis,
>
> entiendo que este tipo de problemas suele ser bastante complicado de
> solucionar. Te aconsejo que empieces probando una cosa: cambia los bloques
> de código de los eventos por métodos. Parece una tontería, pero alguna
> veces
> se pueden producir errores por el valor de retorno de un evento, que en el
> caso de un bloque de código es el resultado de la última expresión que
> contenga. Al cambiarlo por un método, es mucho más fácil ver lo que tiene
> en
> el comando RETURN.
>
> Aparte de eso, te agradecería que me enviaras un ejemplo donde se de el
> problema. Así podría seguirle la pista hasta dar con lo que lo esté
> provocando.
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info
>
>


Attached files
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9462
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Explicaci

Mensaje por ignacio »

José Luis,
Ese error es de recursividad. Ojo con tus llamadas a RequestState().
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
news:[email=4638b436@ozsrv2.ozlan.local...]4638b436@ozsrv2.ozlan.local...[/email]
> José,
>
> Disculpa mi reiteración.
>
> Sigo buscando por que me aparece el GPF.
>
> Ahora he aislado en ese browse todo el código que pudiera modificar el
> browse (aspecto, ongetdata, etc).
>
> Me aparece el GPF que hay en la imagen. Aparentemente parece otro.
>
> ¿De donde puede venir?
>
> Saludos y gracias por tu ayuda.
> José Luis Capel
>
> "Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
> news:46387111$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> José Luis,
>>
>> entiendo que este tipo de problemas suele ser bastante complicado de
>> solucionar. Te aconsejo que empieces probando una cosa: cambia los
>> bloques
>> de código de los eventos por métodos. Parece una tontería, pero alguna
>> veces
>> se pueden producir errores por el valor de retorno de un evento, que en
>> el
>> caso de un bloque de código es el resultado de la última expresión que
>> contenga. Al cambiarlo por un método, es mucho más fácil ver lo que tiene
>> en
>> el comando RETURN.
>>
>> Aparte de eso, te agradecería que me enviaras un ejemplo donde se de el
>> problema. Así podría seguirle la pista hasta dar con lo que lo esté
>> provocando.
>>
>> --
>> Un saludo,
>>
>> José F. Giménez
>> http://www.xailer.com
>> http://www.xailer.info
>>
>>
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Explicaci

Mensaje por jose.luis »

Ignacio,
>
> Ese error es de recursividad. Ojo con tus llamadas a RequestState().
>
Efectivamente... por ahí han ido los tiros. Como ya sabrás... los gpfs son
difíciles de capturar... y éste ma ha costado casi todo el día.
Parece ser que algún problema ha habido con algún oncheckstate de algún
control. El caso es que he quitado todos los eventos oncheckstate y el GPF
ha desaparecido. Ahora tengo que volver a poner esos checkstates... pero
iré con más cuidado.
Saludos y gracias a ti y a José por vuestra ayuda.
José Luis Capel
Responder