Control de Errores

Post Reply
Loren
Posts: 458
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Control de Errores

Post 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.
hmpaquito
Posts: 1200
Joined: Thu Oct 30, 2008 2:37 pm

Re: Control de Errores

Post 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
Loren
Posts: 458
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Re: Control de Errores

Post 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
Post Reply