CreateUnoListener funktsioon

Loob kuulaja eksemplari.

Paljud Uno liidesed võimaldavad spetsiaalses kuulajaliideses registreeerida kuulajaid. Tänu sellele saad kuulata teatud sündmusi ja kutsuda sobiva kuulajameetodi. Funktsioon CreateUnoListener ootab kutsutud kuulajaliidest ja edastab seejärel liidesele objekti, mida liides toetab. Objekt edastatakse seejärel kuulaja registreerimiseks meetodile.

Süntaks:

oListener = CreateUnoListener( Prefixname, ListenerInterfaceName )

Näide:

Järgnev näide põhineb BASICu teegi objektil.


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

Meetodi CreateUnoListener jaoks on vaja kahte parameetrit. Esimene on eesliide aj seda kirjeldatakse edaspidi täpsemalt. Teine parameeter on kasutatava kuulajaliidese täielik nimi.

Seejärel tuleb kuulaja lisada leviedastusobjektile. Selleks kutsu vastav kuulaja lisamise meetod. Need meetodid vastavad alati mallile "addFooListener", kus Foo on kuulajaliidese tüüp ilma X-ta. Selles näites kutsutakse meetod addContainerListener liidese XContainerListener registreerimiseks:


Dim oLib
oLib = BasicLibraries.Library1 ' Library1 peab eksisteerima!
oLib.addContainerListener( oListener ) ' Jälgija registreerimine

Kuulaja on nüüd registreeritud. Sündmuse ilmnemisel kutsub vastav kuulaja sobiva meetodi com.sun.star.container.XContainerListener liidesest.

Eesliide kutsub registreeritud kuulajad Basicu alamprotseduuridest. Basicu käitusajasüsteem otsib neid Basicu alamprotseduure või funktsioone, mille nimi on "PrefixListenerMethode" ja nende leidmise korral kutsub need. Muul juhul ilmneb käitusajaviga.

Selles näites kasutab kuulaja liides järgmisi meetodeid:

Selles näites on eesliide ContListener_. Seetõttu tuleb Basicus rakendada järgmised alamprotseduurid:

Sündmuse struktuuri tüüp, mis sisaldab teavet selle kohta kas sündmus on olemas kõigi kuulaja tüüpide jaoks. Kuulaja meetodi kutsumisel edastatakse sündmuse eksemplar meetodile parameetrina. Basicu kuulaja meetodid võivad kutsuda ka neid sündmuseobjekte, kuni Sub kirjeldusse edastatakse sobiv parameeter. Näiteks:


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

Sündmuse objekti parameetrit pole vaja sisestada, kui see objekt pole kasutusel:


' Sub kõrvaldamise miinimumrakendus
Sub ContListener_disposing
End Sub
Hoiatav ikoon

Basicu käitusajavigade ennetamiseks peavad kuulaja meetodid olema alati rakendatud.


Palun toeta meid!