Page 1 of 1

Control de Errores

Posted: Mon Aug 04, 2014 12:34 pm
by Loren
Buenas tardes, compañeros:

Necesito controlar los errores que genera en tiempo de ejecución mi programa y para ello he modificado errsysw.prg según mis necesidades para que muestre un dialog personalizado y con una opción para que el usuario pueda enviarme un email con el error.log adjunto automáticamente.
Por ahora, he conseguido que esto funcione correctamente, pero necesito añadir en el email el contenido de 2 campos de una DBF que tiene 1 solo registro, pero haciendo pruebas me dice genera un error del tipo "Error: DEMASIADAS LLAMADAS RECURSIVAS"

¿Se puede hacer esto? Supongo que sí, pero ¿sabeis cómo?
PD.: Probé guardando en 2 varibales públicas el contenido de estos 2 campos, pero tampoco funciona.

Gracias.
Un saludo.
Lorenzo
desde Cádiz, España.

Re: Control de Errores

Posted: Mon Aug 04, 2014 1:53 pm
by hmpaquito
Loren,

Lo que te está pasando es que el debes tener algun error en el errsysw.prg. Eso provoca una llamada infinita y hace que te salte ese mensaje de error.
La solucion es muy facil: en la funcion de entrada del errsysw.prg graba un mensaje de error simple con los datos del objeto err. Teniendo la descripcion arregla el error y ya.

Saludos

Re: Control de Errores

Posted: Mon Aug 11, 2014 10:56 am
by Loren
Perdón,

pero estuve fuera varios días y NO pude contestar.
Hmpaquito, eso es precisamente lo que he intentado.
Creo una variable "cTextoEmail" con toda la información del objeto error (equipo de trabajo, linea PRG de error, motivo del error... etc..). Si incluyo esta variable en el email, lo recibo perfectamente y sin problemas.

Ahora bien, si a la variable "cTextoEmail" le añado 2 líneas:

use empresa shared ; go top
cTextoEmail+=empresa->email
cTextoEmail+=empresa->nombre

... así se produce un GPF del tipo "DEMASIADAS LLAMADAS RECURSIVAS"

Seguiré probando y buscando...

Gracias