IBM Lotus Symphony


CreateUnoValue-Funktion [Laufzeit]

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.

Symbol für Hinweis Die Lotus® Symphony™-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.

Kann CreateUnoValue nicht in den angegebenen Uno-Typ konvertiert werden, so tritt ein Fehler auf. Für die Konvertierung kommt der TypeConverter-Service zum Einsatz.

Diese Funktion ist für den Einsatz in Situationen gedacht, in denen der Standard-Konvertierungsmechanismus von Basic nach Uno nicht ausreicht. Dies kann beispielsweise der Fall sein, wenn Sie versuchen, von Lotus Symphony Basic aus auf generische Any-basierte Schnittstellen wie XPropertySet::setPropertyValue( Name, Wert ) oder XContainer::insertBy ( Wert ) zuzugreifen. Das Basic-Laufzeitsystem erkennt diese Typen nicht, da sie nur im entsprechenden Service definiert sind.

In dieser Situation wählt Lotus Symphony Basic den Typ, der dem zu konvertierenden Basic-Typ am ehesten entspricht. Wird jedoch der falsche Typ ausgewählt, so tritt ein Fehler auf. Sie verwenden die CreateUnoValue()-Funktion verwenden, um einen Wert für den unbekannten Uno-Typ zu erstellen.

Sie können diese Funktion auch zum Übergeben von Werten mit anderen Typen als "Any" verwenden. Dies ist jedoch nicht empfehlenswert. Wenn Basic den Zieltyp bereits kennt, resultiert der Aufruf von CreateUnoValue() lediglich in zusätzlichen Konvertierungsvorgängen, die die Basic-Programmausführung verlangsamen.


Produktfeedback | Zusätzliche Dokumentation | Marken