Função CreateUnoListener

Cria uma instância Listener.

A maioria das interfaces Uno permite que você registre escutas em uma interface de escuta especial. Isso permite que você ouça eventos específicos e chame o método de escuta apropriado. A função CreateUnoListener aguarda a interface de escuta e, em seguida, passa a ela um objeto que ela suporte. Esse objeto depois é passado ao método, para registrar a escuta.

Sintaxe:

oListener = CreateUnoListener( Prefixname, ListenerInterfaceName )

Exemplo:

O exemplo a seguir é baseado em um objeto de biblioteca do Basic.

Dim oListener

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

O método CreateUnoListener requer dois parâmetros. O primeiro consiste em um prefixo, que é explicado detalhadamente a seguir. O segundo parâmetro é o nome totalmente qualificado da interface Listener que você deseja usar.

A Listener deverá então ser adicionada ao objeto Broadcaster. Isso é feito chamando-se o método apropriado para adicionar uma Listener. Esses métodos seguem sempre o padrão "addFooListener", onde "Foo" é o tipo da interface Listener sem o 'X'. Neste exemplo, o método addContainerListener é chamado para registrar o XContainerListener:

Dim oLib

oLib = BasicLibraries.Library1 ' Library1 deve existir!

oLib.addContainerListener( oListener ) ' Registrar a Listener

A Listener agora está registrada. Quando ocorrer um evento, a Listener correspondente chamará o método apropriado na interface com.sun.star.container.XContainerListener.

O prefixo chama as Listeners registradas a partir das sub-rotinas do Basic. O sistema em tempo de execução do Basic procura por sub-rotinas ou funções do Basic que possuam o nome "PrefixListenerMethode" e as chama quando as encontra. Do contrário, ocorre um erro em tempo de execução.

Neste exemplo, a interface Listener usa os seguintes métodos:

Neste exemplo, o prefixo é ContListener_. Desse modo, é necessário implementar as seguintes sub-rotinas no Basic:

Um tipo de estrutura de eventos que contém informações sobre eventos que existem em todos os tipos de Listener. Quando um método Listener é chamado, uma instância desse evento é passada para o método como um parâmetro. Os métodos Listener do Basic também podem chamar esses objetos de evento, desde que o parâmetro apropriado seja passado 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 de Sub disposing

Sub ContListener_disposing

End Sub

Ícone Aviso

Para evitar erros de tempo de execução do Basic, os métodos de ouvinte devem ser implementados sempre.