CreateUnoListener függvény

Létrehoz egy figyelőpéldányt.

Számos Uno-felület teszi lehetővé figyelők regisztrálását egy speciális figyelőfelületen. Ennek segítségével figyelhet adott eseményeket, és meghívhatja a megfelelő figyelőmetódust. A CreateUnoListener függvény vár a meghívott figyelőfelületre, majd átadja a felületet egy objektumnak, amelyet a felület támogat. Az objektum ezután a figyelő regisztrálásához átadódik a metódusnak.

Szintaxis:

oListener = CreateUnoListener( Előtagnév, FigyelőfelületNév )

Példa:

Az alábbi példa egy Basic-programkönyvtár-objektumon alapul.


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

A CreateUnoListener metódus két paramétert vár. Az első az előtag, és ez az alábbiakban kerül részletes ismertetésre. A második paraméter a használni kívánt figyelőfelület teljes neve.

A figyelőt ezután hozzá kell adni a Broadcaster objektumhoz. Ez a figyelő hozzáadására szolgáló megfelelő metódus meghívásával történik. Ezek a metódusok mindig az „addFooListener” mintát követik, ahol a „Foo” a figyelőfelület típusa, „X” nélkül. Ebben a példában az addContainerListener metódus az XContainerListener regisztrálása érdekében kerül meghívásra:


Dim oLib
oLib = BasicLibraries.Library1 ' A Library1-nek léteznie kell!
oLib.addContainerListener( oListener ) ' A figyelő regisztrálása

A figyelő most már regisztrálva van. Egy esemény bekövetkezésekor a megfelelő figyelő meghívja a megfelelő metódust a com.sun.star.container.XContainerListener felületről.

Az előtag regisztrált figyelőket hív meg a Basic-szubrutinokból. A Basic futásidejű rendszer „PrefixListenerMethode” nevű Basic-szubrutinokat vagy -függvényeket keres, és ha talál ilyet, meghívja. Ellenkező esetben futásidejű hiba történik.

Ebben a példában a figyelőfelület a következő eljárásokat használja:

Ebben a példában az előtag a ContListener_. Az alábbi szubrutinokat kell megvalósítani Basicben:

Egy eseménystruktúra-típus, amely információkat tartalmaz minden figyelőtípusban létező eseménnyel kapcsolatban. A figyelőmetódus meghívásakor az esemény egy példánya paraméterként átadódik a metódusnak. A Basic-figyelőmetódusok szintén meghívhatják ezeket az eseményobjektumokat, amíg a megfelelő paramétert átadja a szubrutin-deklaráció. Például:


Sub ContListener_disposing( oEvent )
    MsgBox "felszabadítás"
    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

Nem szükséges megadni egy eseményobjektum paraméterét abban az esetben, ha az objektumot nem használja:


' Szubrutin felszabadításának minimális megvalósítása
Sub ContListener_disposing
End Sub
Figyelmeztetés ikon

A figyelőmetódusokat mindig meg kell valósítani a Basic futásidejű hibák elkerülésének érdekében.


Please support us!