IBM Lotus Symphony


Función CreateUnoListener [Ejecución]

Crea un caso de Listener.

Muchas interfaces Uno permiten registrar listeners en una interfaz especial. Esto le permite supervisar eventos específicos y llamar al método listener apropiado. La función CreateUnoListener espera a la interfaz listener llamada y después le pasa un objeto que ésta admita. Dicho objeto se pasa después al método para registrar el listener.

Sintaxis:

oListener = CreateUnoListener( Nombreprefijo, NombreInterfazListener )

Ejemplo:

El ejemplo siguiente se basa en un objeto de la biblioteca Basic.

Dim oListener

oListener = CreateUnoListener( "ContListener_","com.sun.star.container.XContainerListener" )

El método CreateUnoListener requiere dos parámetros. El primero es un prefijo y se explica detalladamente a continuación. El segundo parámetro es el nombre completo de la interfaz Listener que se desee usar.

A continuación, el Listener debe agregarse al objeto Broadcaster. Esto se lleva a cabo llamando al método apropiado para agregar un Listener. Estos métodos siempre siguen el patrón "addFooListener", donde "Foo" es el tipo de interfaz Listener sin la 'X'. En este ejemplo, el método addContainerListener se llama para registrar XContainerListener:

Dim oLib

oLib = BasicLibraries.Library1 ' Library1 debe existir

oLib.addContainerListener( oListener ) ' Registrar el listener

Ahora Listener está registrado. Cuando se produce un evento, la Listener correspondiente llama al método apropiado desde la interfaz de com.sun.star.container.XContainerListener.

El prefijo llama a Listeners registradas desde subrutinas Basic. El sistema en tiempo de ejecución de Basic busca subrutinas o funciones Basic que tengan el nombre "PrefixListenerMethode" y las llama cuando las encuentra. En caso contrario, se produce un error de tiempo de ejecución.

En este ejemplo, la interfaz Listener usa los métodos siguientes:

En este ejemplo, el prefijo es ContListener_. Por tanto, las subrutinas siguientes deben implementarse en Basic:

Existe un tipo de estructura de evento que contiene información sobre cada tipo de Listener. Cuando se llama a un método Listener, se pasa un caso de este evento al método como parámetro. Los métodos Listener de Basic también pueden llamar a estos objetos de evento, siempre que se pase el parámetro apropiado en la declaración Sub. Por ejemplo:

Sub ContListener_disposing( oEvent )

MsgBox "disposing"

MsgBox oEvent.Dbg_Properties

End Sub

Sub ContListener_elementInserted( oEvent )

MsgBox "elementInserted"

MsgBox oEvent.Dbg_Properties

End Sub

Sub ContListener_elementRemoved( oEvent )

MsgBox "elementRemoved"

MsgBox oEvent.Dbg_Properties

End Sub

Sub ContListener_elementReplaced( oEvent )

MsgBox "elementReplaced"

MsgBox oEvent.Dbg_Properties

End Sub

No es necesario incluir el parámetro de un objeto de evento si éste no se va a utilizar:

' Implementación mínima de disposing Sub

Sub ContListener_disposing

End Sub

Icono de advertencia Los métodos Listener deben implementarse siempre para evitar errores de ejecución de Basic.

Comentarios del producto | Documentación adicional | Marcas registradas