Fonction CreateUnoListener

Crée une instance Listener.

De nombreuses interfaces Uno permettent d'enregistrer des auditeurs dans une interface Listener dédiée. Cela permet de détecter des événements spécifiques et d'appeler la méthode Listener appropriée. La fonction CreateUnoListener attend l'interface Listener appelée et lui transmet un objet que celle-ci supporte. Cet objet est ensuite transmis à la méthode afin que l'auditeur soit enregistré.

Syntaxe :

oListener = CreateUnoListener(Prefixname, ListenerInterfaceName)

Exemple :

L'exemple suivant est basé sur un objet de la bibliothèque Basic.

Dim oListener

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

La méthode CreateUnoListener nécessite deux paramètres. Le premier, un préfixe, est expliqué en détail ci-dessous. Le deuxième paramètre est le nom complet de l'interface Listener à utiliser.

Celle-ci doit ensuite être ajoutée à l'objet Broadcaster. Pour ce faire, vous devez appeler la méthode appropriée d'ajout d'interface Listener. Ces méthodes sont toujours construites sur le modèle "addFooListener", où "Foo" représente le type d'interface Listener sans le 'X'. Dans cet exemple, la méthode addContainerListener est appelée pour enregistrer XContainerListener :

Dim oLib

oLib = BasicLibraries.Library1 ' Library1 doit exister !

oLib.addContainerListener( oListener ) ' Enregistrer l'auditeur

L'auditeur est désormais enregistré. Lorsqu'un événement se produit, l'auditeur correspondant appelle la méthode appropriée depuis l'interface com.sun.star.container.XContainerListener.

Le préfixe appelle les auditeurs enregistrés dans les sous-routines Basic. Le système d'exécution Basic recherche les sous-routines ou les fonctions nommées "PrefixListenerMethode" et les appelle. Sinon, une erreur d'exécution se produit.

Dans cet exemple, l'interface Listener utilise les méthodes suivantes :

Dans cet exemple, le préfixe est ContListener_. Par conséquent, les sous-routines suivantes doivent être implémentées dans Basic :

Un type de structure d'événement contenant des informations sur un événement donné existe pour chaque type d'auditeur. Dès qu'une méthode Listener est appelée, une instance de cet événement est transmise à la méthode sous forme de paramètre. Les méthodes Listener de Basic peuvent également appeler ces objets d'événements. Pour cela, le paramètre approprié doit être transmis dans la déclaration Sub. Exemple :

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

Il n'est pas nécessaire d'inclure le paramètre d'un objet d'événement si cet objet n'est pas utilisé :

' Implémentation minimale de Sub disposing

Sub ContListener_disposing

End Sub

Icône Avertissement

Les méthodes Listener doivent toujours être implémentées afin d'éviter des erreurs d'exécution de Basic.