CreateUnoListener Function

Crea una instància d'oient.

Moltes interfícies d'Uno us permeten registrar oients en una interfície d'oient especial. Això us permet escoltar esdeveniments específics i cridar el mètode d'oient apropiat. La funció CreateUnoListener espera la interfície d'oient cridada i passa a la interfície un objecte que admet la interfície. Aquest objecte es passa al mètode per registrar l'oient.

Sintaxi:

oListener = CreateUnoListener( Prefixname, ListenerInterfaceName )

Exemple:

L'exemple següent es basa en un objecte de biblioteca del Basic.

Dim oListener

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

El mètode CreateUnoListener requereix dos paràmetres. El primer és un prefix i s'explica detalladament a continuació. El segon paràmetre és el nom complet de la interfície d'oient que voleu utilitzar.

Llavors l'oient s'afegeix a l'objecte de difusió. Això es du a terme cridant el mètode apropiat per afegir un oient. Aquests mètodes sempre segueixen el patró "addFooListener", en què "Foo" és el tipus d'interfície d'oient, sense la 'X'. En aquest exemple, el mètode addContainerListener es crida per registrar XContainerListener:

Dim oLib

oLib = BasicLibraries.Library1 ' Library1 must exist!

oLib.addContainerListener( oListener ) ' Registra l'oient

L'oient ara està registrat. Quan es produeix un esdeveniment, l'oient corresponent crida el mètode apropiat des de la interfície de com.sun.star.container.XContainerListener.

El prefix crida els oients registrats de les subrutines del Basic. El sistema d'execució del Basic cerca subrutines del Basic o funcions que tenen el nom "PrefixListenerMethode" i les crida quan les troba. Si no, es produeix un error d'execució.

En aquest exemple, la interfície d'oient utilitza els mètodes següents:

En aquest exemple, el prefix és ContListener_. Les subrutines següents s'han d'implementar, per tant, en Basic:

Existeix un tipus d'estructura d'esdeveniment que conté informació sobre un esdeveniment per a cada tipus d'oient. Quan es crida un mètode d'oient, una instància d'aquest esdeveniment es passa al mètode com a paràmetre. Els mètodes d'oient del Basic també poden cridar aquests objectes d'esdeveniment, sempre que es passi el paràmetre apropiat a la declaració Sub. Per exemple:

Sub ContListener_disposing( oEvent )

    MsgBox "disposing"

    MsgBox oEvent.Dbg_Properties

End Sub

 

Sub ContListener_elementInserted( oEvent )

    MsgBox "elementInserit"

    MsgBox oEvent.Dbg_Properties

End Sub

 

Sub ContListener_elementRemoved( oEvent )

    MsgBox "elementSuprimit"

    MsgBox oEvent.Dbg_Properties

End Sub

 

Sub ContListener_elementReplaced( oEvent )

    MsgBox "elementReemplaçat"

    MsgBox oEvent.Dbg_Properties

End Sub

No heu d'incloure el paràmetre d'un objecte d'esdeveniment si no s'utilitza l'objecte:

' Implementació mínima de Sub disposing

Sub ContListener_disposing

End Sub

Icona d'avís

Els mètodes d'oient sempre s'han d'implementar per evitar errors d'execució del Basic.