Funktion CreateUnoValue

Gibt ein Objekt zur├╝ck, das einen in Bezug auf das Uno-Typensystem strikt typisierten Wert darstellt.

Das Objekt wird bei der ├ťbergabe an Uno automatisch in einen Any des entsprechenden Typs konvertiert. Der Typ muss durch seinen voll qualifizierten Uno-Typennamen angegeben werden.

Notizsymbol

Die LibreOffice-API verwendet h├Ąufig den Typ "Any". Dieser ist das Gegenst├╝ck zu dem aus anderen Umgebungen bekannten Typ "Variant". Der Typ "Any" nimmt einen beliebigen Uno-Typ auf und wird in generischen Uno-Schnittstellen verwendet.


Syntax:

oUnoWert = CreateUnoValue( "[]byte", MeinBasicWert ) ' zum Abrufen einer Bytefolge.

Wenn CreateUnoValue nicht in den angegebenen Uno-Typ konvertiert werden kann, tritt ein Fehler auf. F├╝r die Konvertierung wird der Dienst TypeConverter verwendet.

Diese Funktion ist f├╝r Situationen vorgesehen, in denen der Standardkonvertierungsmechanismus vom Typ BasicToUno nicht ausreicht. Dies kann passieren, wenn Sie versuchen, auf generische beliebige Schnittstellen zuzugreifen, beispielsweise XPropertySet::setPropertyValue(Name, Wert) oder X???Container::insertBy???(???, Value), von LibreOffice Basic. Die Basislaufzeit erkennt diese Typen nicht, da sie nur im entsprechenden Dienst definiert sind.

In dieser Situation w├Ąhlt LibreOffice Basic den am besten passenden Typ f├╝r den Basic-Typ aus, den Sie konvertieren m├Âchten. Wenn jedoch der falsche Typ ausgew├Ąhlt wird, tritt ein Fehler auf. Mit der Funktion CreateUnoValue() erstellen Sie einen Wert f├╝r den unbekannten Uno-Typ.

Sie k├Ânnen diese Funktion auch verwenden, um nicht-beliebige Werte zu ├╝bergeben. Dies wird jedoch nicht empfohlen. Wenn Basic den Zieltyp bereits kennt, f├╝hrt die Verwendung der Funktion CreateUnoValue() nur zu zus├Ątzlichen Konvertierungsvorg├Ąngen, die die Basic-Ausf├╝hrung verlangsamen.

Bitte unterst├╝tzen Sie uns!