IBM Lotus Symphony


Função CreateUnoListener [Tempo de Execução]

Cria uma ocorrência Atendente.

Muitas interfaces Uno permitem registrar atendentes em uma interface de atendente especial. Isso permite que você atenda eventos específicos e chame o método de atendente apropriado. A função CreateUnoListener aguarda pela interface de atendente chamada e transmite à interface um objeto que ela suporte. Esse objeto é transmitido para o método para registrar o atendente.

Sintaxe:

oListener = CreateUnoListener( Prefixname, ListenerInterfaceName )

Exemplo:

O exemplo a seguir baseia-se no objeto de biblioteca Basic.

Dim oListener

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

O método CreateUnoListener requer dois parâmetros. O primeiro é um prefixo e é explicado detalhadamente a seguir. O segundo parâmetro é o nome completo da interface Atendente que você deseja usar.

O Atendente deve ser incluído no Objeto Broadcaster. Isso é feito chamando o método apropriado para incluir um Atendente. Esses métodos sempre seguem o "addFooListener" padrão, em que "Foo" é o Tipo de Interface Atendente, sem o 'X'. Nesse exemplo, o método addContainerListener é chamado para registrar o XContainerListener:

Dim oLib

oLib = BasicLibraries.Library1 ' Library1 deve existir!

oLib.addContainerListener( oListener ) ' Registrar o atendente

O Atendente agora está registrado. Quando ocorre um evento, o Atendente correspondente chama o método apropriado da Interfacecom.sun.star.container.XContainerListener.

O prefixo chama os Atendentes registrados das sub-rotinas do Basic. O sistema de tempo de execução do Basic procura as sub-rotinas ou funções do Basic que possuem o nome "PrefixListenerMethode" e chama-os ao localizá-los. Caso contrário, ocorre um erro de tempo de execução.

Nesse exemplo, a Interface Atendente usa os seguintes métodos:

Nesse exemplo, o prefixo é ContListener_. Portanto, as sub-rotinas a seguir devem ser implementadas no Basic:

Um tipo de estrutura de evento que contém informações sobre um evento existente para cada tipo de Atendente. Quando um método Atendente é chamado, uma ocorrência desse evento é transmitida para o método como um parâmetro. Os métodos de Atendentes do Basic também podem chamar esses objetos de eventos, desde que o parâmetro apropriado seja transmitido na declaração Sub. Por exemplo:

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

Não é necessário incluir o parâmetro de um objeto de evento se o objeto não for usado:

' Implementação mínima da disposição Sub

Sub ContListener_disposing

End Sub

Ícone de Aviso Os métodos do listener sempre devem ser implementados para evitar erros de tempo de execução do Basic.

Feedback do Produto | Documentação Adicional | Marcas Registradas