İçerikler
Dizin 🔎︎

# CreateUnoListener Fonksiyonu

Bir Dinleyici örneği oluşturur.

Pek çok Uno arayüzü, özel bir dinleyici arayüzüne, dinleyici kaydetmenize izin verir. Bu, belirli olayları dinlemenizi ve uygun dinleyici metodunu çağırmanıza olanak verir. CreateUnoListener fonksiyonu, çağrılmış dinleyici arayüzünü bekler ve arayüzün desteklediği nesneyi arayüze atar. Bu nesne daha sonra dinleyiciyi kaydetmek için metoda aktarılır.

## Sözdizimi:

    oListener = CreateUnoListener( Prefixname, ListenerInterfaceName )

## Örnek:

Aşağıdaki örnek Basic kütüphane nesnesi esas alır.

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

CreateUnoListener metodu iki parametreye ihtiyaç duyar. İlki önektir ve aşağıda ayrıntılı açıklanmıştır. İkinci parametre, kullanmak istediğiniz Dinleyici arayüzüne ait tam tanımlanmış addır.

Dinleyici sonra Broadcaster nesnesine eklenmelidir. Bu, Dinleyici eklemek için gereken uygun metodun çağrılmasıyla yapılır. Bu metodlar her zaman "addFooListener" kalıbını takip eder ve burada "Foo" 'X''i saymazsak Dinleyici arayüzü tipidir. Bu örnekte addContainerListener metodu, XContainerListener 'ı kaydetmek için çağrılır.

    Dim oLib
    oLib = BasicLibraries.Library1 ' Library1 var olmalıdır!
    oLib.addContainerListener( oListener ) ' Dinleyiciyi kaydet

Dinleyici artık kaydedilmiştir. Olay gerçekleştiğinde, karşılık gelen Dinleyici com.sun.star.container.XContainerListener arayüzünden uygun metodu çağırır.

Önek kayıtlı Dinleyiciyi Basic-altyordamlardan çağırır. Basic run-time sistemi ismi "PrefixListenerMethode" olan Basic-altyordamları veya fonksiyonları arar ve bulduğunda çağırır. Aksi halde run-time hatası gerçekleşir.

Bu örnekte, Dinleyici-Arayüzü aşağıdaki yöntemleri kullanır:

- disposing:

- Dinleyici taban arayüzü (com.sun.star.lang.XEventListener): tüm Dinleyici Arayüzleri için taban arayüzü

- elementInserted:

- com.sun.star.container.XContainerListener arayüzü metodu

- elementRemoved:

- com.sun.star.container.XContainerListener arayüzü metodu

- elementReplaced:

- com.sun.star.container.XContainerListener arayüzü metodu

Bu örnekte önek ContListener_. Bundan dolayı takip eden altyordamlar Basic'te gerçekleştirilmelidir:

- ContListener_disposing

- ContListener_elementInserted

- ContListener_elementRemoved

- ContListener_elementReplaced

Her Listener türü için varolan bir olay hakkında bilgi içeren bir olay yapı türü. Bir Listener metodu çağrıldığında, bu olayın bir örneği metoda bir parametre olarak gönderilir. Sub tanımlaması içerisine uygun parametre gönderildiği sürece, temel Listener metodları da bu olay nesnelerini çağırabilir. Örnek olarak :

    Sub ContListener_disposing( oEvent )
        MsgBox "yokediliyor"
        MsgBox oEvent.Dbg_Properties
    End Sub

    Sub ContListener_elementInserted( oEvent )
        MsgBox "Element Eklendi"
        MsgBox oEvent.Dbg_Properties
    End Sub

    Sub ContListener_elementRemoved( oEvent )
        MsgBox "Öğe Çıkarıldı"
        MsgBox oEvent.Dbg_Properties
    End Sub

    Sub ContListener_elementReplaced( oEvent )
        MsgBox "Öğe Değiştirildi"
        MsgBox oEvent.Dbg_Properties
    End Sub

Eğer nesne kullanılmıyorsa, olay nesnesinin parametresini eklemenize gerek yoktur.

    ' Alt kullanımlarının En Küçük uygulaması
    Sub ContListener_disposing
    End Sub

Dinleyci yöntemleri her zaman Basic run-time hatalarından kaçacak şekilde gerçekleştirilmelidir.