Power Builder - errores en PB 7.0

 
Vista:

errores en PB 7.0

Publicado por Franklin Gamboa (12 intervenciones) el 28/05/2003 20:14:06
¿como hago para que el usuario al presionar un botón se abra una ventana de error con dos botones: aceptar y detalles y que al presionar detalles se muestre el numero de error, la linea en la que ocurrió y el nombre del error?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:errores en PB 7.0

Publicado por eduardo.v (208 intervenciones) el 28/05/2003 21:41:06
Bueno puedes utilizar el objeto ERROR...
para esto debes tener una ventana que le puedes llamar w_error_sistema. luego en tu objeto apliacion busca el evento systemerror. ahi puedes poner esto:
open(w_error_sistema)
return
Entonces ahora cuando ocurra un error se abrira automaticamente la ventana w_error_sistema. en el evento open de esta ventana asiganas los datos a los controles que tengas ahi. POr ejemplo:
//numero de error
sle_errornro.text=string(error.number)
//descripcion del error
sle_errornomb.text=f_error_sistema(error.number)
//ventana o menu
sle_ventana.text=string(error.windowmenu)
//objeto
sle_errorobjeto.text=string(error.object)
//evento donde ocurrio el error
sle_errorevento.text=error.objectevent
//linea donde ocurrio el error
sle_errorlinea.text=string(error.line)

Espero haber te dado una idea
Saludos desde Peru
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Fe de erratas

Publicado por eduardo.v (208 intervenciones) el 28/05/2003 21:49:42
Perdon.
en la linea que dice descripcion del error dice:
sle_errornomb.text=f_error_sistema(error.number)
debe decir:
sle_errornomb.text=error.text

en este control te saldra el texto del error en ingles. la funcion f_error_sistema() es una funcion creada por mi para traducir el texto del error al castellano segun el numero de error.

Ahora si me voy
Saludos desde Peru

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:errores en PB 7.0

Publicado por Milson Cardona (613 intervenciones) el 28/05/2003 21:47:32
Un saludo especial desde COLOMBIA

primero que todo a que tipo de errores te refieres...

Imagino que deben ser los errores que arroja el motor de DB al actualizar un DW...

si esto es correcto, entonces te será de gran ayuda el evento DBERROR del objeto DW control... este evento tiene los siguientes argumentos:

sqlcode = contiene el numero o codigo de error que devolvio la DB
sqlerrtext = una descripción del error
row = la fila que provocó el error
buffer = el buffer donde esta la fila que provocó el error (deleted, primary)
sqlsyntax = el mensaje de error propio de la DB...

en ese orden de ideas puedes hacer los siguiente puedes colocar el siguiente script en el evento DBERROR del DW..

primero mostrar no una ventana sino un messagebox advirtiendo que sucedió un error. con 2 botones, si da click en yes mostramos los detalles en otro messagebox.

IF messagebox('ERROR','se ha provocado un error al tratar de actualizar la fila '+STRING(row)+' ....¿desea ver los detalles del error?',Information!,yesno!,2) = 1 THEN
messagebox('DETALLES DEL ERROR', 'CODIGO: '+STRING(sqldbcode)+' DESCRIPCIÓN: '+sqlerrtext+' SINTAXIS: '+sqlsyntax )
END IF

de esta manera te evitas construir las ventanas

si tienes un DW control padre del cual heredas todos los DWs de tu aplicación, el código anterior lo pones en el evento DBERROR de este DW y así queda lista la aplicación para tratar todos los errores en cualquier parte de tu aplicación..

espero que se entienda la idea y que además sea de utilidad.

suerte y me comentas como te fue
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:errores en PB 7.0

Publicado por Franklin Gamboa (12 intervenciones) el 29/05/2003 03:23:20
muchas gracias por tu cooperacion, yo les aviso como me va...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Porsiaca...

Publicado por eduardo.v (208 intervenciones) el 28/05/2003 22:04:55
Te recuerdo que el uso del objeto Error de la forma en que lo he mostrado es para detectar errores en tiempo de ejecucion con respecto a tus script o codigo como referencia objetos no validos, Función de DLL no fue encontrada en la aplicación actual, etc.

Ahora para detectar errores con respecto a la base de datos puedes utilizar la idea de Milson.

Es bueno recordar que estos mensajes de error tanto los de apliacion como los de base de datos son un respaldo para poder explicar al usuario porque fallo en un determinado momento el sistema, pero debemos tratar en lo posible evitar que aparezcan. Y esto se puede evitar con un buen Debugging y apliacando las validaciones necesarias para que un error no ocurra.
Ya no estoy
Saludos desde Peru


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Porsiaca...

Publicado por Franklin Gamboa (12 intervenciones) el 29/05/2003 03:21:31
muchas gracias por su ayuda y ahi te cuento como me va...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar