Isi
Indeks 🔎︎

# Fungsi CreateUnoListener

Membuat contoh Pendengar.

Banyak antarmuka Uno memungkinkan Anda mendaftarkan pendengar pada antarmuka pendengar khusus. Ini memungkinkan Anda mendengarkan acara tertentu dan memanggil metode pendengar yang sesuai. Fungsi CreateUnoListener menunggu untuk antarmuka pendengar yang disebut dan kemudian melewati antarmuka objek yang didukung antarmuka. Objek ini kemudian diteruskan ke metode untuk mendaftarkan pendengar.

### Sintaksis:

oListener = CreateUnoListener( PrefiksNama, NamaAntarmukaPenyimakaAtauListener)

### Contoh:

Contoh berikut berdasarkan pustaka objek pada Basic.

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

Metode CreateUnoListener membutuhkan dua parameter. Yang pertama adalah awalan dan dijelaskan secara rinci di bawah ini. Parameter kedua adalah nama yang sepenuhnya memenuhi syarat antarmuka Listener yang ingin Anda gunakan.

Listener kemudian harus ditambahkan ke Obyek Broadcaster. Ini dilakukan dengan memanggil metode yang sesuai untuk menambahkan Pendengar. Metode ini selalu mengikuti pola "addFooListener", di mana "Foo" adalah Tipe Antarmuka Listener, tanpa 'X'. Dalam contoh ini, metode addContainerListener dipanggil untuk mendaftarkan XContainerListener:

    Dim oLib
    oLib = BasicLibraries.Library1 ' Library1 harus ada!
    oLib.addContainerListener( oListener ) ' Mendaftarkan penyimak (listener)

Listener sekarang terdaftar. Ketika suatu peristiwa terjadi, Listener yang bersangkutan memanggil metode yang sesuai dari antarmuka com.sun.star.container.XContainerListener.

Awalan memanggil pendengar terdaftar dari Basic-subrutin. Sistem run-time Dasar mencari-subrutin Dasar atau fungsi yang memiliki nama "PrefixListenerMethode" dan memanggil mereka ketika ditemukan. Jika tidak, kesalahan run-time terjadi.

Dalam contoh ini, Antarmuka-Penyimak (Listener-Interface) menggunakan metode-metode berikut:

- disposing:

- Antarmuka dasar pendengar (com.sun.star.lang.XEventListener): antarmuka dasar untuk semua antarmuka pendengar

- elementInserted:

- Metode dari antarmuka com.sun.star.container.XContainerListener

- elementRemoved:

- Metode dari antarmuka com.sun.star.container.XContainerListener

- elementReplaced:

- Metode dari antarmuka com.sun.star.container.XContainerListener

Dalam contoh ini, awalannya adalah ContListener_. Oleh karena itu, subroutine harus diterapkan di Basic:

- ContListener_disposing

- ContListener_elementInserted

- ContListener_elementRemoved

- ContListener_elementReplaced

Tipe struktur kejadian yang berisi informasi tentang suatu kejadian yang ada untuk setiap jenis Pendengar. Ketika metode Pendengar dipanggil, turunan dari kejadian ini diteruskan ke metode sebagai parameter. Metode Pendengar Dasar juga dapat memanggil objek acara ini, selama parameter yang sesuai dilewatkan dalam deklarasi Sub. Sebagai contoh:

    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

Anda tidak perlu menyertakan paramater peristiwa objek jika objeknya tidak digunakan:

    ' Minimal penerapan Sub disposing
    Sub ContListener_disposing
    End Sub

Metode pendengar harus selalu diimplementasikan untuk menghindari kesalahan run-time dasar.