FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Errorsys
Posts: 990
Joined: Wed Oct 19, 2005 02:17 PM
Errorsys
Posted: Thu Apr 30, 2015 10:09 AM

Buenos d铆as,

se puede evitar la inclusi贸n de errorsys en el ejecutable ?

Muchas gracias.

Saludos

Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Errorsys
Posted: Thu Apr 30, 2015 10:20 AM

Baxajaun

Yo no lo uso.

Saludos,

Adhemar

Saludos,



Adhemar C.
Posts: 990
Joined: Wed Oct 19, 2005 02:17 PM
Re: Errorsys
Posted: Thu Apr 30, 2015 10:32 AM

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,

Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Errorsys
Posted: Thu Apr 30, 2015 10:50 AM

Tienes que redirigir los errores. Creo que se hace con la funcion ErrorBlock().

Posts: 102
Joined: Fri Oct 14, 2005 12:03 AM
Re: Errorsys
Posted: Thu Apr 30, 2015 07:00 PM
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:
Code (fw): Select all Collapse
bDefErrHandler:=ErrorBlock( { || NIL } )

y creo que esto tambi茅n podr铆a funcionar:
Code (fw): Select all Collapse
bDefErrHandler:=ErrorBlock( NIL )

o si te interesa redirigirlo a un manejador de errores propio seria algo as铆 como esto
Code (fw): Select all Collapse
bDefErrHandler:=ErrorBlock( { | oError | TuManejadorDeError( oError ) } )

bDefErrHandler te guarda la llamada al manejador de errores que estaba antes del cambio de manera que puedas luego restaurarlo de la siguiente manera:
Code (fw): Select all Collapse
// 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 )
...


Aca parte de la documentaci贸n de Clipper respecto al tema...

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.


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...

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

Continue the discussion