Trucos y consejos para PowerBuilder - Formas de llamar a un evento

3 - Formas de llamar a un evento

[editar]
Tutorial creado por José Manuel. Extraido de: http://www.lawebdejm.com
30 de Noviembre de 1999
Cuando necesitamos lanzar un evento manualmente, hasta la versión 4 teníamos una sola opción, utilizando las funciones TriggerEvent y PostEvent:


Objeto.TriggerEvent( evento, wParam, lParam )
Objeto.PostEvent( evento, wParam, lParam )


A partir de la versión 5, se nos ofrece una nueva sintaxis, para soportar el paso de parámetros a eventos:
La sintaxis general es la siguiente:


Objeto.Tipo Comprobacion Momento Nombre( Argumentos )


Cada uno de los elementos tiene el siguiente significado:


- Objeto:---El objeto del cual queremos invocar el evento. Se puede omitir, asumiendo el objeto "this".


- Tipo:---Indica a qué vamos a llamar: FUNCTION o EVENT. Si se omite, se utilizará la palabra clase FUNCTION.


- Comprobacion:---Indica en qué momento se comprobará la existencia de esa función o evento, o dicho de otro modo: en tiempo de diseño (STATIC) o en tiempo de ejecución (DYNAMIC). Hay que tener en cuenta que si llamamos con DYNAMIC, la comprobación se hará durante la ejecución, por lo que será mucho más lento que STATIC. Siempre que sea posible, hay que llamar de forma estática. Por defecto se considera STATIC.


- Momento:---Indica si se llamará la función o evento en el momento actual (TRIGGER) o al final de la cola de mensajes (POST). Por defecto se utilizará TRIGGER.


- Nombre:---El nombre de evento o función a llamar.


- Argumentos:---Argumentos necesario en la llamada.


Ejemplos:


esto nos permite llamar a la función SetFocus pero que se ejecute al final
de la cadena de eventos en que estamos. Esta técnica es muy útil
para pasar el foco a un control, y asegurarnos que ninguna
instrucción posterior va a volver a pasar el foco a otro control.
dw_maestro.POST SetFocus()


esta otra llamada lo que nos permite es pasar el foco a un control
desconocido en tiempo de diseño, concretamente al primer control
que haya en el "tab_1". Si este control, contiene la función "SetFocus()",
se efectuará la llamada, si no es así, se producirá un error de ejecución.
tab_1.control[1].Dynamic SetFocus()


ahora lo que hacemos es llamar estáticamente al evento "ue_evento"
del control actual (this). Si este evento no existe, se producirá un error
en la compilación del script durante el diseño.
Event ue_evento("el parámetro")


hace lo mismo que el ejemplo anterior, pero ejecutando el evento
"ue_pegar" de "cb_aceptar" al final de la cola de mensajes.
Además, la existencia de este evento se comprobará durante la ejecución,
no generando ningún error si no existiese (al contrario que las funciones).
Este ejemplo concreto, es muy útil para lanzar eventos a todos los controles
de una ventana (por ejemplo, el evento "pegar") y que si el control lo soporta,
reaccione al evento (si no lo soporta, no ocurrirá nada).
cb_aceptar.Event Dynamic Post ue_pegar("el parámetro")
[editar]

21 opiniones

Lo maximo

estoy muy agradecida por la ayuda
no puedoo descargar

no puedo descargar el tutorial
Quiero aprender mas.

Me gustaria saber de favor me gustaria ver scrips de programas de empresas la parte de procesos... ? x otra parate la pagina esta interesante.
Insertar grafico dentro de powerbuilder.

Si pudieran darme un ejemplo sobre como insertar grafico dentro de un formulario de powerbuilder,.
No es lo q pensaba.

Bueno me parece que la informacion que brindan a travez de su portal no colma las espectativas.
1 2 3 4 5 | siguiente >

Tutoriales relacionados con 'Trucos y consejos para PowerBuilder'

Esta colección la he ido recopilando a través de mi experiencia con PB. Puedes encontrar... Más »

Autor y licencia de 'Trucos y consejos para PowerBuilder'


Tutorial de José Manuel. Extraido de: http://www.lawebdejm.com CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.