Funkcija CreateUnoListener

Ustvari instanco prisluškovalca (Listener).

Številni vmesniki Uno omogočajo registracijo prisluškovalcev za poseben prisluškovalni vmesnik. Tako lahko prisluškujete določenim dogodkom in sprožite ustrezno metodo prisluškovalca. Funkcija CreateUnoListener čaka na klicani prisluškovalni vmesnik in nato posreduje vmesniku predmet, ki ta vmesnik podpira. Ta predmet se potem posreduje metode za registracijo prisluškovalca.

Skladnja:

oPrisluskovalec = CreateUnoListener( PrefixIme, ImePrislVmesnika )

Primer:

Naslednji primer se naslanja na predmet iz knjižnice Basic.

Dim oListener

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

Metoda CreateUnoListener zahteva dva parametra. Prvi parameter je predpona in ga bomo razložili natančneje spodaj. Drugi parameter je popolnoma kvalificirano ime prisluškovalnega vmesnika, ki ga želite uporabljati.

Prisluškovalca (Listener) moramo potem dodati predmetu Oddajnik (Broadcaster). V ta namen moramo poklicati ustrezno metodo za dodajanje Prisluškovalcev. Metode vedno imenujemo po vzorcu »addTaleListener«, kjer je »Tale« vrsta prisluškovalnega vmesnika brez 'X'. V tem primeru pokličemo metodo addContainerListener, ki registrira XContainerListener:

Dim oLib

oLib = BasicLibraries.Library1 ' Library1 mora obstajati!

oLib.addContainerListener( oListener ) ' Registriraj prisluškovalca

Prisluškovalec je sedaj registriran. Ko pride do dogodka, ustrezni Prisluškovalec pokliče zahtevano metodo v vmesniku com.sun.star.container.XContainerListener.

Prefix kliče registrirane Prisluškovalce v procedurah Basic. Sistem Basic za izvajanje išče procedure ali funkcije, ki imajo ime »PrefixListenerMethode« in jih pokliče, če jih odkrije. V nasprotnem primeru pride do napake med izvajanjem.

V naslednjem primeru uporablja prisluškovalni vmesnik naslednje metode:

Naslednji primer uporablja prefiks ContListener_. Naslednje procedure morajo zato biti implementirane v Basicu:

Vrsta strukture za dogodek, ki vsebuje informacijo o dogodku, obstaja za vsako vrsto prisluškovalca. Kadar se kliče prisluškovalčevo metodo, dobi metoda kot parameter instanco tega dogodka. Metode za prisluškovalce v Basicu lahko tudi kličejo te dogodkovne predmete, če deklaracija Sub nudi ustrezen parameter. Primer:

Sub ContListener_disposing( oEvent )

    MsgBox "disposing – zapiramo"

    MsgBox oEvent.Dbg_Properties

End Sub

 

Sub ContListener_elementInserted( oEvent )

    MsgBox "elementInserted – element dodan"

    MsgBox oEvent.Dbg_Properties

End Sub

 

Sub ContListener_elementRemoved( oEvent )

    MsgBox "elementRemoved – element odstranjen"

    MsgBox oEvent.Dbg_Properties

End Sub

 

Sub ContListener_elementReplaced( oEvent )

    MsgBox "elementReplaced – element zamenjan"

    MsgBox oEvent.Dbg_Properties

End Sub

Če predmeta ne uporabljate, parametra za dogodkovni predmet ni potrebno vključiti:

' Minimalna implementacija Sub disposing

Sub ContListener_disposing

End Sub

Ikona opozorila

Prisluškovalne metode morate vedno implementirati, da se izognete napakam med izvajanjem Basica.