Buenos días,
se puede evitar la inclusión de errorsys en el ejecutable ?
Muchas gracias.
Saludos
Errorsys
Re: Errorsys
Hola,
me refiero a que cuando el programa de error en ejcución no genere el fichero de error ni muestre el error por pantalla.
Muchas gracias.
Saludos,
me refiero a que cuando el programa de error en ejcución no genere el fichero de error ni muestre el error por pantalla.
Muchas gracias.
Saludos,
Re: Errorsys
Tienes que redirigir los errores. Creo que se hace con la funcion ErrorBlock().
- gsabattino
- Posts: 100
- Joined: Fri Oct 14, 2005 12:03 am
- Location: Valencia, Venezuela
Re: Errorsys
Ilustrisimo Baxajaun...
por medio de la función ErrorBlock puedes deshabilitar el manejador de errores, o redirigirlo a uno propio...
Para deshabilitarlo sería algo así como esto:
y creo que esto también podría funcionar:
o si te interesa redirigirlo a un manejador de errores propio seria algo así como esto
bDefErrHandler te guarda la llamada al manejador de errores que estaba antes del cambio de manera que puedas luego restaurarlo de la siguiente manera:
Aca parte de la documentación de Clipper respecto al tema...
yo, en lo personal, lo que hice fue tomar el archivo source/function/ErrSysW.prg y retocarlo un poco para adaptarlo a mis requerimiento particulares...
Espero te sirva el tip...
Giancarlo Sabattino
Valencia, Venezuela
por medio de la función ErrorBlock puedes deshabilitar el manejador de errores, o redirigirlo a uno propio...
Para deshabilitarlo sería algo así como esto:
Code: Select all
bDefErrHandler:=ErrorBlock( { || NIL } )
Code: Select all
bDefErrHandler:=ErrorBlock( NIL )
Code: Select all
bDefErrHandler:=ErrorBlock( { | oError | TuManejadorDeError( oError ) } )
Code: Select all
// Punto donde necesitas que se active tu rutina de manejo de errores en caso de un error
bDefErrHandler:=ErrorBlock( { | oError | TuManejadorDeError( oError ) } )
...
...
tu_codigo...
...
...
// Punto donde restauras la llamada al manejador de errores por defecto de [x]Harbour
ErrorBlock( bDefErrHandler )
...
Ahora... como criterio personal, no creo que sea buena idea eliminar el manejador de errores... de todas formas, como en gusto y colores no existen leyes ni paradigmas, creo que con lo que te he comentado aca deberias poder resolver tu inquietud...Syntax
ERRORBLOCK([<bErrorHandler>]) --> bCurrentErrorHandler
Arguments
<bErrorHandler> is the code block to execute whenever a runtime
error occurs. When evaluated, the <bErrorHandler> is passed an error
object as an argument by the system.
Returns
ERRORBLOCK() returns the current error handling code block. If no error
handling block has been posted since the program was invoked,
ERRORBLOCK() returns the default error handling block.
yo, en lo personal, lo que hice fue tomar el archivo source/function/ErrSysW.prg y retocarlo un poco para adaptarlo a mis requerimiento particulares...
Espero te sirva el tip...
Giancarlo Sabattino
Valencia, Venezuela