CreateUnoListener funkcija

Sukuria klausytojo egzempliorių.

Daugelis „Uno“ sąsajų leidžia registruoti klausytojus specialioje klausytojų sąsajoje. Tai leidžia tvarkyti konkrečius įvykius ir iškviesti tinkamą klausytojo metodą. Funkcija „CreateUnoListener“ laukia iškviestos klausytojo sąsajos ir tada perduoda sąsajai objektą, kurį palaiko ši sąsaja. Tada šis objektas perduodamas klausytojo registravimo metodui.

Sintaksė:

oListener = CreateUnoListener( Prefixname, ListenerInterfaceName )

Pavyzdys:

Šis pavyzdys yra pagrįstas „Basic library“ objektu.


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

„CreateUnoListener“ metode yra du parametrai. Pirmasis yra priešdėlis ir išsamiai paaiškintas toliau. Antrasis parametras yra visiškai tinkamas norimos naudoti agento sąsajos pavadinimas.

Tada klausytojas turi būti pridėtas prie transliuotojo objekto. Tai daroma iškviečiant tinkamą būdą, kaip pridėti klausytoją. Šie metodai visada naudojami pagal „addFooListener“ modelį, kuriame „Foo“ yra klausytojo sąsajos tipas be „X“. Šiame pavyzdyje „addContainerListener“ metodas iškviečiamas registruoti „XContainerListener“:


Dim oLib
oLib = BasicLibraries.Library1 ' Biblioteka „Library1“ turi egzistuoti!
oLib.addContainerListener( oListener ) ' Registruokite klausytoją

Klausytojas dabar užregistruotas. Įvykus įvykiui, atitinkamas klausytojas iškviečia atitinkamą metodą iš sąsajos com.sun.star.container.XContainerListener.

Naudojant priešdėlį skambinama registruotiems klausytojams iš paprogramių „Basic“. „Basic run-time“ sistema ieško „Basic“ paprogramių ar funkcijų, turinčių pavadinimą „PrefixListenerMethode“, ir jas radus iškviečia. Priešingu atveju įvyksta vykdymo klaida.

Šiame pavyzdyje „Listener-Interface“ naudoja šiuos metodus:

Šiame pavyzdyje priešdėlis yra „„ContListener_“. Todėl programoje „Basic“ turi būti įdiegtos šios paprogramės:

Įvykio struktūros tipas, kuriame yra informacijos apie įvykį, egzistuoja kiekvienam klausytojo tipui. Kai iškviečiamas „Listener“ metodas, šio įvykio egzempliorius perduodamas metodui kaip parametras. „Basic“ klausytojo metodai taip pat gali iškviesti šiuos įvykių objektus, jei atitinkamas parametras yra pateiktas subdeklaracijoje. Pavyzdžiui:


Sub ContListener_disposing( oEvent )
    MsgBox "šalinimas"
    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

Jei objektas nenaudojamas, nereikia įtraukti įvykio objekto parametro:


' Minimalus paproghramių šalinimo įgyvendinimas
Sub ContListener_disposing
End Sub
Warning Icon

Klausytojo metodai turi būti visada įgyvendinami, kad būtų išvengta „Basic“ vykdymo klaidų.


Paremkite mus!