IBM Lotus Symphony


CreateUnoListener-funksjonen [kjøretid]

Oppretter en lytterforekomst.

Mange Uno-grensesnitt lar deg registrere lyttere på et spesielt lyttergrensesnitt. Dermed kan du lytte etter bestemte hendelser og kalle opp riktig lyttermetode. CreateUnoListener-funksjonen venter på det oppkalte lyttergrensesnittet og sender grensesnittet et objekt som grensesnittet støtter. Dette objektet sendes så til metoden for å registrere lytteren.

Syntaks:

oListener = CreateUnoListener( prefiksnavn, lyttergrensesnittnavn )

Eksempel:

Følgende eksempel er basert på et Basic-bibliotekobjekt:

Dim oListener

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

CreateUnoListener-metoden krever to parametere. Den første er et prefiks som er forklart i detalj nedenfor. Den andre parameteren er fullstendig navn på lyttergrensesnittet som du ønsker å bruke.

Lytteren må så legges til i kringkastingsobjektet. Dette gjøres ved å kalle opp riktig metode for tilføyelse av lytter. Disse metodene følger alltid mønsteret "addFooListener", der "Foo" er lyttergrensesnittypen, uten 'X'. I dette eksempelet kalles addContainerListener-metoden opp for å registrere XContainerListener:

Dim oLib

oLib = BasicLibraries.Library1 ' Library1 må finnes!

oLib.addContainerListener( oListener ) ' Registrer lytteren

Lytteren er nå registrert. Når en hendelse inntreffer, kaller tilsvarende lytter opp riktig metode fra com.sun.star.container.XContainerListener-grensesnittet.

Prefikset kaller opp registrerte lyttere fra Basic-subrutiner. Basics kjøretidssystem søker etter Basic-subrutiner eller -funksjoner som har navnet "PrefixListenerMethode" og kaller dem opp når de blir funnet. Ellers oppstår en kjøretidsfeil.

I dette eksempelet bruker lyttergrensesnittet følgende metoder:

I dette eksempelet er prefikset ContListener_. Følgende subrutiner må derfor implementeres i Basic:

Det finnes en strukturtype for hendelse som inneholder informasjon om en hendelse, for hver lyttertype. Når en lyttermetode kalles opp, sendes en forekomst av denne hendelsen til metoden som parameter. Basic-lyttermetoder kan også kalles opp disse hendelsesobjektene, så lenge riktig parameter sendes i Sub-deklarasjonen. 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

Du må ikke ta med parameteren i et hendelsesobjekt hvis objektet ikke blir brukt:

' Minimal implementering av Sub disposing

Sub ContListener_disposing

End Sub

Advarselsikon Lyttermetoder må alltid implementeres for å unngå Basic-kjøretidsfeil.

Tilbakemelding om produktet | Annen dokumentasjon | Varemerker