CreateUnoListener Function

Создаёт экземпляр прослушивающего процесса.

Во многих интерфейсах Uno можно регистрировать слушателей с помощью особого интерфейса. Это позволяет прослушивать определенные события и вызывать нужный метод прослушивания. Функция CreateUnoListener ожидает вызванный интерфейс слушателя, а затем передаёт в этот интерфейс поддерживаемый им объект. Затем этот объект передаётся методу для регистрации слушателя.

Синтаксис


oListener = CreateUnoListener( Префикс, Имя_интерфейса_слушателя )

Пример:

В следующем примере используется объект библиотеки Basic.


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

Методу CreateUnoListener требуется два параметра. Первый параметр — префикс, подробное описание которого даётся ниже. Второй параметр — полное имя интерфейса слушателя, который необходимо использовать.

Слушателя необходимо добавить к объекту Broadcaster. Для этого необходимо вызвать нужный метод. В этих методах всегда используется структура "addFooListener", где "Foo" — тип интерфейса слушателя без "X". В следующем примере метод addContainerListener вызывается для регистрации XContainerListener:


Dim oLib
oLib = BasicLibraries.Library1 ' Библиотека Library1 должна существовать
oLib.addContainerListener( oListener ) ' Регистрация слушателя

Слушатель зарегистрирован. При возникновении события соответствующий слушатель вызывает нужный метод через интерфейс com.sun.star.container.XContainerListener.

Префикс вызывает зарегистрированных слушателей из подпрограмм Basic. Система поддержки исполнения программ Basic выполняет поиск подпрограмм Basic или функций с именем "PrefixListenerMethode" и вызывает их. В противном случае происходит ошибка времени выполнения.

В следующем примере интерфейс слушателя использует следующие методы:

В следующем примере используется префикс ContListener_. Таким образом, должны быть выполнены следующие подпрограммы Basic:

Для каждого типа слушателя существует тип структуры события, содержащий сведений о событии. При вызове метода слушателя экземпляр события передаётся методу в качестве параметра. Методы слушателя на Basic могут также вызывать эти события, если в объявлении Sub передаётся нужный параметр. Например:


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

Включать параметр события не требуется, если объект не используется:


' Минимальное выполнение Sub disposing
Sub ContListener_disposing
End Sub
Значок предупреждения

Методы слушателя должны выполняться всегда, чтобы предотвращать возникновение ошибок времени выполнения Basic.


Please support us!