IBM Lotus Symphony


Funktionen CreateUnoListener [Runtime]

Opretter en lytterforekomst (Listener).

Mange UNO-grænseflader giver mulighed for at registrere lyttere på en særlig lyttergrænseflade. Det gør det muligt at lytte efter bestemte hændelser og kalde den relevante lyttermetode. Funktionen CreateUnoListener venter på den kaldte lyttergrænseflade og overfører derefter et objekt til grænsefladen, som grænsefladen understøtter. Objektet overføres derefter til metoden med henblik på registrering af lytterfunktionen.

Syntaks:

oListener = CreateUnoListener( Præfiksnavn, Lyttergrænsefladenavn )

Eksempel:

Følgende eksempel er baseret på et Basic-biblioteksobjekt.

Dim oListener

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

Metoden CreateUnoListener kræver to parametre. Den første er et præfiks og forklares nærmere nedenfor. Den anden parameter er det fuldstændige navn på den lyttergrænseflade, du vil benytte.

Denne lytter skal derefter føjes til objektet Broadcaster. Det gør du ved at kalde den relevante metode til tilføjelse af en lytter. Disse metoder følger altid mønstret "addFooListener", hvor "Foo" er grænsefladetypen for lytteren uden 'X'. I dette eksempel kaldes metoden addContainerListener for at registrere XContainerListener:

Dim oLib

oLib = BasicLibraries.Library1 ' Library1 skal findes!

oLib.addContainerListener( oListener ) ' Registrér lytteren

Lytteren er nu registreret. Når der opstår en hændelse, kalder den tilhørende lytter den relevante metode fra grænsefladen com.sun.star.container.XContainerListener.

Præfikset kalder registrerede lyttere fra Basic-underrutiner. Basic runtimesystemet søger efter Basic-underrutiner eller -funktioner, som kan have navnet "Præfikslyttermetode", og kalder dem, når de er fundet. I modsat fald opstår der en runtimefejl.

I dette eksempel bruger lyttegrænsefladen følgende metoder:

I dette eksempel er præfikset ContListener_. Følgende underrutiner skal derfor implementeres i Basic:

For hver lyttertype findes en hændelsesstrukturtype, der indeholder oplysninger om en hændelse. Når en lyttermetode kaldes, overføres en forekomst af denne hændelse til metoden som en parameter. Basic-lyttermetoder kan også kalde disse hændelsesobjekter, når den relevante parameter overføres i Sub-erklæringen. Eksempel:

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

Det er ikke nødvendigt at medtage et hændelsesobjekts parameter, hvis objektet ikke benyttes:

' Minimumsimplementering af "Sub disposing"

Sub ContListener_disposing

End Sub

Advarselsikon For at undgå Basic-runtimefejl skal lyttermetoder altid implementeres.

Produktfeedback | Yderligere dokumentation | Varemærker