CreateUnoListener funtzioa

Listener instantzia sortzen du.

Hainbat Uno interfazeren bidez Listener-ak erregistra ditzakezu Listener interfaze berezi batean. Hala, gertaera jakinak entzun ditzakezu eta Listener metodo egokiari deitu diozaiokezu. CreateUnoListener funtzioa deitutako Listener interfazearen zain egoten da, eta gero, interfaze horri hark onartzen duen objektua pasatzen dio. Orduan, objektua metodora pasatzen da Listener erregistratzeko.

Sintaxia:

oEntzulea = CreateUnoListener( AurrizkiIzena, EntzuleInterfazeIzena )

Adibidea:

Ondorengo adibidea Basic liburutegi-objektuan oinarrituta dago.


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

CreateUnoListener metodoak bi parametro behar ditu. Lehenengo parametroa aurrizki bat da, eta behean azaltzen da xehetasunez. Bigarrena erabili nahi duzun Listener interfazearen erabat kualifikatutako izena da.

Listener igorle-objektuari gehitu behar zaio. Horretarako, dagokion metodoari deitu behar zaio. Metodo horiek beti "addZerbaitListener" eredua edukitzen dute. "Zerbait" Listener interfaze mota da, 'X'rik gabe. Adibide honetan, addContainerListener metodoari deitzen zaio XcontainerListener erregistratzeko:


Dim oLib
oLib = BasicLibraries.Library1 ' Library1ek lehendik egon behar du!
oLib.addContainerListener( oEntzulea ) ' Erregistratu entzulea

Listener orain erregistratuta dago. Gertaera bat gertatzen denean, dagokion Listener-ak dagokion metodoari deitzen dio com.sun.star.container.XContainerListener interfazetik.

Aurrizkiak erregistratutako Listener-ei deitzen die Basic azpierrutinetatik. Basic exekuzio-garaiko sistemak "PrefixListenerMethode" izena duten Basic azpierrutinak edo funtzioak bilatzen ditu, eta aurkitutakoan deitu egiten die. Bestela, exekuzio-errorea gertatuko da.

Adibide honetan, Listener interfazea erabiltzen da metodo hauei deitzeko:

Adibide honetan, aurrizkia ContListener_ da. Beraz, azpierrutina hauek inplementatu behar dira Basic-en:

Gertaera bati buruzko informazioa duen gertaeraren egitura mota Listener mota guztientzat egoten da. Listener metodo bati deitzean, gertaera horren instantzia metodora pasatzen da parametro gisa. Basic-eko Listener metodoek gertaera-objektu horiei ere deitu diezaiekete, baldin eta parametro egokia pasatzen bada Sub deklarazioan. Adibidez:


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

Gertaera-objektu baten parametroa ez duzu sartu behar objektu hori erabiltzen ez bada:


' Sub disposing-en inplementazio minimoa
Sub ContListener_disposing
End Sub
Abisu-ikonoa

Listener metodoak beti inplementatu behar dira Basic exekuzio-errorerik ez gertatzeko.


Emaguzu laguntza!