Функція CreateUnoListener

Створює примірник слухача.

У багатьох інтерфейсах 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.