CreateUnoListener Function

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.