Funkce CreateUnoListener

Vytvoří instanci Listener.

Mnoho UNO rozhraní vám umožní registrovat posluchač ve speciálním rozhraní. Tak můžete naslouchat určitým událostem a volat při nich odpovídající naslouchací metodu. Funkce CreateUnoListener čeká v odpovídajícím rozhraní a poté rozhraní předá objektu, který toto rozhraní podporuje. Tento objekt bude předán zaregistrované metodě.

Syntaxe:

oListener = CreateUnoListener( Prefixname, ListenerInterfaceName )

Příklad:

Následující příklad je založen na knihovně objektů Basic.


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

Metoda CreateUnoListener vyžaduje dva parametry. První je prefix a podrobněji je vysvětlen níže. Druhý parametr je plně kvalifikovaný název rozhraní Listener, které chcete použít.

Listener poté musíte přidat k Broadcaster Object. To provedete zavoláním odpovídající metody pro přidání Listeneru. Tyto metody se vždy nazývají podle vzoru "addFooListener", kde "Foo" představuje typ rozhraní Listeneru bez 'X'. V tomto příkladu se volá metoda addContainerListener pro zaregistrování XContainerListener:


Dim oLib
oLib = BasicLibraries.Library1 ' Library1 musí existovat!
oLib.addContainerListener( oListener ) ' Registerovat listener

Nyní je Listener zaregistrován. Když nastane událost, zavolá odpovídající Listener správnou metodu z rozhraní com.sun.star.container.XContainerListener.

Prefix volá registrované Listenery z podprogramů Basic. Za běhu Basic hledá procedury nebo funkce, které mají jméno "PrefixListenerMethode" a při nalezení je zavolá. Jinak dojde k chybě.

V tomto případě používá rozhraní Listener následující metody:

V tomto případě je prefixem 'ContListener_'. V jazyce Basic je proto třeba implementovat následující podprogramy:

Pro každý typ Listeneru existuje typ event structure obsahující informace o události. Když je zavolána metoda Listeneru, předá se metodě jako parametr instance této události. Metody Listeneru také mohou volat tyto objekty události, je-li v deklaraci Sub předán správný parametr. Například:


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

Pokud objekt nepoužíváte, nemusíte přidávat jeho parametr:


' Minimální implementace Sub disposing
Sub ContListener_disposing
End Sub
Ikona upozornění

Metody objektu Listener je nutné vždy implementovat, abyste předešli chybám Basicu.


Podpořte nás!