IBM Lotus Symphony


Funkcja CreateUnoListener [środowisko wykonawcze]

Powoduje utworzenie instancji funkcji nasłuchiwania.

Wiele interfejsów UNO umożliwia zarejestrowanie obiektu nasłuchiwania w specjalnym interfejsie nasłuchiwania. Pozwala to wykrywać określone zdarzenia i wywoływać odpowiednie metody nasłuchiwania. Funkcja CreateUnoListener czeka na wywołany interfejs nasłuchiwania i przekazuje do niego obiekt obsługiwany przez ten interfejs. Następnie obiekt jest przekazywany do metody w celu zarejestrowania go.

Składnia

oObiekt_nasłuchiwania = CreateUnoListener(Przedrostek, Nazwa_interfejsu_nasłuchiwania)

Przykład

Poniższy przykład bazuje na obiekcie z biblioteki języka Basic.

Dim oNasluch

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

Metoda CreateUnoListener wymaga podania dwóch parametrów. Pierwszy to przedrostek, którego znaczenie zostało wyjaśnione poniżej. Drugi to pełna nazwa interfejsu nasłuchiwania, który ma zostać użyty.

Obiekt nasłuchiwania musi zostać dodany do obiektu rozgłaszania. W tym celu należy wywołać metodę dodającą obiekt nasłuchiwania. Metody te mają zawsze postać addFooListener, gdzie Foo to typ interfejsu nasłuchiwania bez X. W tym przykładzie metoda addContainerListener jest wywoływana w celu zarejestrowania obiektu nasłuchiwania XContainerListener:

Dim oBibl

oBibl = BasicLibraries.Library1 ' Biblioteka Library1 musi istnieć!

oBibl.addContainerListener(oNasluch) ' Rejestrowanie obiektu nasłuchiwania

Obiekt nasłuchiwania zostanie zarejestrowany. Po wystąpieniu zdarzenia odpowiedni obiekt wysłuchiwania wywoła właściwą metodę z interfejsu com.sun.star.container.XContainerListener.

Przedrostek służy do wywoływania zarejestrowanych obiektów nasłuchiwania z procedur podrzędnych języka Basic. W środowisku wykonawczym języka Basic wyszukiwane są funkcje lub procedury podrzędne o nazwie PrzedrostekMetodaObiekt_nasłuchiwania, które po znalezieniu są wywoływane. W przeciwnym przypadku generowany jest błąd czasu wykonywania.

W tym przykładzie interfejs nasłuchiwania używa następujących metod:

W tym przykładzie przedrostek to ContListener_. W języku Basic muszą zostać zaimplementowane następujące procedury podrzędne:

W przypadku każdego typu obiektu nasłuchiwania istnieje typ struktury zdarzenia z informacjami o zdarzeniu. Podczas wywoływania metody obiektu nasłuchiwania instancja tego zdarzenia jest przekazywana do metody w formie parametru. Metody obiektu nasłuchiwania w języku Basic mogą również wywoływać te obiekty zdarzeń, o ile parametr zostanie przekazany w deklaracji Sub. Na przykład:

Sub ContListener_disposing(oZdarzenie)

MsgBox "disposing"

MsgBox oZdarzenie.Dbg_Properties

End Sub

Sub ContListener_elementInserted(oZdarzenie)

MsgBox "elementInserted"

MsgBox oZdarzenie.Dbg_Properties

End Sub

Sub ContListener_elementRemoved(oZdarzenie)

MsgBox "elementRemoved"

MsgBox oZdarzenie.Dbg_Properties

End Sub

Sub ContListener_elementReplaced(oZdarzenie)

MsgBox "elementReplaced"

MsgBox oZdarzenie.Dbg_Properties

End Sub

Jeśli obiekt zdarzenia nie jest używany, nie trzeba uwzględniać jego parametru:

' Minimalna implementacja procedury podrzędnej dla metody disposing

Sub ContListener_disposing

End Sub

Ikona Ostrzeżenie Aby uniknąć błędów w czasie wykonywania kodu Basic, należy zawsze implementować metody obiektu nasłuchiwania.

Opinia na temat produktu | Dodatkowa dokumentacja | Znaki towarowe