https://foro.gambas-es.org/viewtopic.php?f=1&t=26
-----------------------------------
soplo
Lunes, 14 Septiembre 2009, 17:54

Control De Eventos
-----------------------------------
[color=darkred]Declaración de Evento[/color]

EVENT evento ([param1], [param2], ...[paramn]) [as boolean]

Esto es que el evento puede llevar o no parámetros y puede o no devolver un valor boleano. Este valor boleano valdrá TRUE si el evento fue cancelado.

[color=darkred]Invocación del evento[/color]

raise evento(param1, param2, ..., paramn)
[code linenumbers=false]Dim Cancelado as boolean
event MiEvento(Nombre as string) as boolean

Cancelado=raise Evento ("Perico")
if Cancelado then
   message.info("El evento fue cancelado")
else
   message.infor("el evento no fue cancelado")
endif[/code]

[color=darkred]Detener un evento[/color]
stop  event
Debe ser utilizado dentro de una rutina de gestión de error. Cuando se utiliza el evento se cancela y si debía devolver algún valor boleano este será TRUE.
[code linenumbers=false]PUBLIC SUB MiTextBox_KeyPress()

  IF Instr("0123456789", Key.Text) = 0 THEN
    STOP EVENT
  ENDIF

END SUB[/code]

[color=darkred]Retrasar un evento[/color]
wait tiempo
El tiempo es opcional y admite decimales. Esperar un poco puede ser WAIT 0.1

Si no se indica tiempo entonces se ignora cualquier evento de teclado y ratón mientras se procesan los eventos. Por consiguiente es obligar al usuario a ver lo que ocurre y que tenga que esperar.

[color=darkred]Object.attach[/color]
Método de la clase object para enlazar un objeto a un evento.
Attach ( Objeto AS Object, Padre AS Object, Evento AS String )
Evento es el nombre usado para buscar manipuladores de eventos en el objeto padre. 
[code linenumbers=false]PUBLIC Proceso1 AS Process
...
Proceso1 = SHELL "find /" FOR READ
Objeto.Attach(Proceso1, ME, "Proceso1")
...

PUBLIC SUB Proceso1_Read()

   Message.Info("¡Salida del proceso 1!")
   ' puedes leer y hacer alguna acción con la salida...

END[/code]

[color=darkred]objetct.Detach[/color]
Objeto.detach(Padre)

Separa un objeto de su observador.
Los eventos disparados a partir de este momento se ignorarán.


