Funkcja CreateUnoListener

Funkcja tworzy instancję obiektu Listener (odbiornik).

Większość interfejsów obiektów Uno pozwala zarejestrować odbiorniki dla specjalnego interfejsu odbiornika. Pozwala to na nasłuchiwanie określonych zdarzeń i wywołanie odpowiedniej metody odbiornika. Funkcja CreateUnoListener czeka na wywołany interfejs odbiornika, a następnie przekazuje interfejsowi obsługiwany przez niego obiekt. Obiekt zostaje następnie przekazany do metody w celu zarejestrowania odbiornika.

Składnia:

oListener = CreateUnoListener( nazwa_prefiksu, nazwa_interfejsu_odbiornika)

Przykład:

Poniższy przykład oparto na obiekcie biblioteki Basic.

Dim oListener

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

Metoda CreateUnoListener wymaga dwóch parametrów. Pierwszy to prefiks, który szczegółowo został wyjaśniony poniżej. Drugim jest w pełni kwalifikowana nazwa interfejsu obiektu Listener (odbiornik), który ma zostać użyty.

Obiekt Listener (odbiornik) należy dodać do obiektu Broadcaster (nadajnik). Odbywa się to przez wywołanie odpowiedniej metody w celu jej dodania do obiektu Listener (odbiornik). Takie metody zawsze są uzupełnione wzorcem "addFooListener", gdzie "Foo" oznacza typ interfejsu odbiornika bez 'X'. W tym przykładzie metoda addContainerListener jest wywoływana w celu zarejestrowania obiektu XcontainerListener:

Dim oLib

oLib = BasicLibraries.Library1 ' Biblioteka Library1 musi istnieć

oLib.addContainerListener( oListener ) ' Rejestracja odbiornika

Odbiornik został zarejestrowany. W przypadku wystąpienia zdarzenia przypisany mu obiekt Listener (odbiornik) wywołuje odpowiednią metodę z interfejsu com.sun.star.container.XcontainerListener.

Prefiks wywołuje zarejestrowane obiekty Listener z podprogramów Basic. System uruchamiania programów Basic szuka odpowiednich podprogramów lub funkcji o nazwie "PrefixListenerMethode", a po ich znalezieniu wywołuje je. W przeciwnym razie występuje błąd wykonania.

W tym przykładzie interfejs obiektu Listener korzysta z następujących metod:

W tym przykładzie prefiksem jest ContListener_. W tym celu należy zaimplementować poniższe podprogramy Basic:

W każdym typie obiektu Listener występuje struktura zdarzeń zawierająca informacje o zdarzeniu. Po wywołaniu metody Listener interfejs zdarzenia zostaje przekazany do metody w postaci parametru. Metody obiektów Basic Listener także mogą wywoływać te obiekty zdarzeń, o ile w deklaracji Sub zostanie przekazany odpowiedni parametr. Na przykład:

Sub ContListener_disposing( oEvent )

    MsgBox "disposing (wyrzucanie)"

    MsgBox oEvent.Dbg_Properties

End Sub

 

Sub ContListener_elementInserted( oEvent )

    MsgBox "elementInserted (element wstawiony)"

    MsgBox oEvent.Dbg_Properties

End Sub

 

Sub ContListener_elementRemoved( oEvent )

    MsgBox "elementRemoved (element usunięty)"

    MsgBox oEvent.Dbg_Properties

End Sub

 

Sub ContListener_elementReplaced( oEvent )

    MsgBox "elementReplaced (element zamieniony)"

    MsgBox oEvent.Dbg_Properties

End Sub

Jeśli obiekt nie jest używany, nie ma potrzeby dołączania parametru obiektu zdarzenia:

' Minimalna implementacja programu Sub disposing (wyrzucanie)

Sub ContListener_disposing

End Sub

Ikona ostrzeżenia

W celu uniknięcia błędów wykonania Basic należy zawsze implementować metody Listener.