Página 1 de 1

Explicaci

Publicado: Mié May 02, 2007 11:56 am
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

Explicaci

Publicado: Mié May 02, 2007 12:19 pm
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

Explicaci

Publicado: Mié May 02, 2007 12:37 pm
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
>

Explicaci

Publicado: Mié May 02, 2007 1:07 pm
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

Explicaci

Publicado: Mié May 02, 2007 1:54 pm
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

Explicaci

Publicado: Mié May 02, 2007 5:56 pm
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

Explicaci

Publicado: Mié May 02, 2007 6:37 pm
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
>>
>>
>
>
>

Explicaci

Publicado: Mié May 02, 2007 6:53 pm
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