Für den Umgang mit der API werden einige Runtime-Funktionen angeboten. In der Onlinehilfe
sind sie nur zu finden, wenn man Ihren Namen kennt. Einen eigenen Bereich dafür gibt es
nicht. Die Details sind in der alphabetischen Liste in der Onlinehilfe zu finden.
Im Einzelnen sind es folgende:
CreateUnoDialog
Erzeugt ein Basic-Uno-Objekt, das ein Uno-Dialog-Control zur Laufzeit des Basics
repräsentiert.
CreateUnoListener
Instanziert einen Listener.
Bei vielen Uno-Schnittstellen kann man Listener auf einer speziellen Listener-Schnittstelle
registrieren. So können diese den Eintritt bestimmter Ereignisse überwachen und daraufhin die
jeweilige Listener-Methode aufrufen. Die Funktion CreateUnoListener wartet auf die aufgerufene
Listener-Schnittstelle und übergibt der Schnittstelle dann ein von dieser unterstütztes Objekt.
Dieses Objekt wird dann an die Methode zum Registrieren des Listeners übergeben.
CreateUnoService
Instanziert einen Uno service am ProcessServiceManager.
oService = CreateUnoService( Uno service name )
CreateUnoStruct
Erstellt eine Instanz eines Uno-Strukturtyps.
Zu bevorzugen ist angeblich jedoch eine Anweisung nach folgendem Muster:
Dim oStruct as new com.sun.star.beans.Property
Syntax:
oStruct = CreateUnoStruct( Uno_Typname )
Beispiel:
oStruct = CreateUnoStruct( "com.sun.star.beans.Property" )
HasUnoInterfaces
Ermittelt, ob ein Basic-Uno-Objekt bestimmte Uno-Interfaces unterstützt.
Gibt "True" zurück, wenn alle angegebenen Uno-Schnittstellen unterstützt
werden, ansonsten
"False".
Syntax:
HasUnoInterfaces( oTest, Uno-Schnittstellenname 1 [, Uno-Schnittstellenname 2, ...])
Rückgabewert:
Bool
Parameter:
oTest:Das zu prüfende Basic Uno-Objekt.
Uno-Schnittstellenname:Eine Liste der Uno-Schnittstellennamen.
Beispiel:
bHas = HasUnoInterfaces( oTest, "com.sun.star.beans.XIntrospection" )
IsUnoStruct
Gibt "True" zurück wenn es sich um ein Struct handelt.
IsUnoStruct( Uno type name )
bIsStruct = IsUnoStruct( "com.sun.star.beans.Property" )
EqualUnoObjects
Gibt "True" zurück, wenn die beiden angegebenen Basic Uno-Objekte dieselbe
Uno-
Objektinstanz darstellen.
EqualUnoObjects( oObj1, oObj2 )
Beispiel:
// Kopie von Objekten -> gleiche Instanz
oIntrospection = CreateUnoService( "com.sun.star.beans.Introspection" )
oIntro2 = oIntrospection
print EqualUnoObjects( oIntrospection, oIntro2 )
// Kopie von Structs als value -> neue Instanz
Dim Struct1 as new com.sun.star.beans.Property
Struct2 = Struct1
print EqualUnoObjects( Struct1, Struct2 )