CreateUnoListener Function

Skapar en lyssnarinstans.

MÄnga Uno-grÀnssnitt lÄter dig registrera lyssnare pÄ speciella lyssnargrÀnssnitt. PÄ detta sÀtt kan du lyssna efter specifika hÀndelser och anropa lÀmpliga lyssnarmetoder. Funktionen CreateUnoListener vÀntar pÄ det anropade lyssnargrÀnssnittet och skickar sedan ett objekt till grÀnssnittet som grÀnssnittet stöder. Detta objekt skickas sedan till metoden för att registrera lyssnaren.

Syntax:

oListener = CreateUnoListener( Prefixnamn, LyssnargrÀnssnittsnamn )

Exempel:

Följande exempel baseras pÄ ett Basic-biblioteksobjekt.

Dim oListener

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

Metoden CreateUnoListener krÀver tvÄ parametrar. Den första Àr ett prefix och förklaras utförligt nedan. Den andra parametern Àr det fullstÀndiga namnet för lyssnargrÀnssnittet som du vill anvÀnda.

Lyssnaren mÄste sedan lÀggas till i Broadcaster-objektet. Detta Ästadkoms genom att lÀmplig metod för tillÀgg av en lyssnare anropas. Metoderna följer alltid mönstret "addFooListener", dÀr "Foo" Àr lyssnargrÀnssnittstypen utan 'X'. I det hÀr exemplet anropas metoden addContainerListener för att registrera XContainerListener:

Dim oLib

oLib = BasicLibraries.Bibliotek1 ' Bibliotek1 mÄste finnas!

oLib.addContainerListener( oListener ) ' Registrera lyssnaren

Lyssnaren Àr nu registrerad. NÀr en hÀndelse intrÀffar anropar motsvarande lyssnare lÀmplig metod frÄn grÀnssnittet com.sun.star.container.XContainerListener.

Prefixet anropar registrerade lyssnare frÄn Basic-subrutiner. Basic-runtimesystemet söker efter Basic-subrutiner eller funktioner som har namnet "PrefixListenerMethode" och anropar dem nÀr de hittas. Annars intrÀffar ett runtime-fel.

I det hÀr exemplet anvÀnder lyssnargrÀnssnittet följande metoder:

I det hÀr exemplet Àr prefixet ContListener_. Följande subrutiner mÄste dÀrför implementeras i Basic:

En hÀndelsestruktur som innehÄller information om en hÀndelse finns för varje lyssnartyp. NÀr en lyssnarmetod anropas skickas en instans av den hÀr hÀndelsen till metoden som en parameter. Basic-lyssnarmetoder kan ocksÄ anropa de hÀr hÀndelseobjekten sÄ lÀnge som lÀmpliga parametrar skickas i Sub-deklarationen. Till exempel:

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 behöver inte inkludera parametern för ett hÀndelseobjekt om det inte anvÀnds:

' Minimal implementering av Sub-disponering

Sub ContListener_disposing

End Sub

Varningssymbol

Lyssnarmetoder mÄste alltid implementeras för att undvika Basic runtime-fel.