5.10 Welche Runtime-Funktionen gibt es speziell für den Umgang mit API?
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 )