IBM Lotus Symphony


Функция CreateUnoListener [встроенная]

Создает экземпляр Listener.

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

Синтаксис:

oListener = CreateUnoListener( Префикс, Интерфейс_Listener )

Пример:

Следующий пример основан на использовании библиотечного объекта Basic.

Dim oListener

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

У метода CreateUnoListener два параметра. Первый - это префикс, подробно описанный ниже. Второй - это полное имя интерфейса Listener, который вы хотите применять.

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

Dim oLib

oLib = BasicLibraries.Library1 ' Библиотека Library1 должна уже существовать!

oLib.addContainerListener( oListener ) ' Регистрация обработчика событий

Теперь Listener зарегистрирован. Когда произойдет событие, соответствующий Listener вызовет соответствующий метод из интерфейса com.sun.star.container.XContainerListener.

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

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

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

Для каждого типа Listener существует структура событий, содержащая информацию о событии. При вызове метода Listener ему передается экземпляр этого события как параметр. Методы Listener в 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, методы Listener всегда должны быть реализованы.

Комментарии по продукту | Дополнительная документация | Товарные знаки