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!