Power Builder - cancelar un evento?

 
Vista:

cancelar un evento?

Publicado por Ivan (23 intervenciones) el 12/12/2005 11:26:31
Hola

Me gustaría saber como se cancela un evento, para que no se ejecute y se rompa la ejecución.

Michas Gracias.
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:cancelar un evento?

Publicado por Lenin (21 intervenciones) el 12/12/2005 15:02:52
A que va tu pregunta??, podrias poner return al principio del evento (dependiendo del evento 0,1,-1), y si kieres desactivar un evento heredaro, en el scrip del hijo dale click derecho y desactiva la opcion "EXTEND ANCESTOR SCRIPT", espero que te sirva de algo.
Saludos desde Lima - 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:cancelar un evento?

Publicado por Ivan (23 intervenciones) el 12/12/2005 21:24:56
No entiendo nada de lo q me dices. A lo mejor me explique mal. YO quiero cancelar un evento, por ejemplo:

El el itemchanged pregunto comprobar si esta bien metido y si no que no siga ese evento. Puede ser lo del return (me suena) pero no entiendo lo que dices de q lo ponga al principio. Agradeceria un ejemplo.

Un Saludo
Gracias
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:cancelar un evento?

Publicado por Jancarlo (890 intervenciones) el 12/12/2005 21:53:54
A lo que se refire Lenin es que tienes que colocar un return antes de ejecutar un determinado script, por ejemplo

//Vamos a validar un dato, si este es valido sigue ejecutando el evento de lo contrario sale del evento (cancela el evento)

//En un DW colocamos en el evento ItemChanged

accepttext( )
if getcolumnname() = 'importe' then
if real(data) > 0 then
//Ejecutamos el proceso que querramos
.....
.....
else
messagebox('Error','Importe no válido')
return 2 //Cancela el evento y limpia el valor ingresado
end if
end if

Espero que me hayas comprendido...sino nos comentas

Suerte !
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:cancelar un evento?

Publicado por Ivan (23 intervenciones) el 13/12/2005 13:39:18
A ver, lo que yo quiero hacer es en el evento UpdateStart comprobar si tengo rellenos unos campos y si no los tiene rellenos CANCELAR el evento de tal modo que no llegue ya al UpdateEnd, siempre llega al UpdateEnd haga lo q haga (RETURN -1, 2 etc...)

Si se os ocurre algo os lo agradeceria.

Saludos
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:cancelar un evento?

Publicado por Jancarlo (890 intervenciones) el 13/12/2005 15:59:38
Hola...lo que puedes hacer es manejar esto con variables de instancia (Defines una variable tipo Boolean), en el evento UpdateStart haces la validación correspondiente y si esta todo ok entonces asignas un valor true a la variable, luego en el evento UpdateEnd validas si la variable es true o false y depende de eso ejecutas lo que sea necesario.

//Variable de instancia
boolean vib_ok

//Evento UpdateStart
..Validación de datos, etc...
//Si toda la validación es ok
vib_ok=true

//Luego pasa al evento UpdateEnd
if vib_ok then
..Ejecutas los procesos que desees
end if
vib_ok=false

Espero que me hayas entendido.....sino nos comentas...

Suerte !
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:cancelar un evento?

Publicado por Ivan (23 intervenciones) el 14/12/2005 10:07:53
Eso q me pones ahi CREO q no vale, es una condicion para que ejecute o no el codigo, es decir ejecutaria un codigo un otro, pero seguiria ejecutandose y saltaria el UpdateEnd.
Ya lo consegui hacer: Para CANCELAR un evento (y se pare el program ahí y no ejecute mas codigo) he usado un RETURN y se deja de ejecutar el programa ahí.

A lo mejor me exprese muy mal, pero es q habia probado con el return y no me habia funcionado antes y no se porq.

Muchas Gracias de todas formas.

Un Saludo
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