Contingut
Índex 🔎︎

# Funció CreateUnoValue

Torna un objecte que representa un valor de tipus estricte que fa referència al sistema de tipus Uno.

Aquest objecte es converteix automàticament en qualsevol dels tipus corresponents quan es passa a Uno. El tipus s'ha d'especificar amb el seu nom de tipus d'Uno complet.

L'API del LibreOffice utilitza amb freqüència el tipus Any. És homòleg del tipus Variant conegut d'altres entorns. El tipus Any manté un tipus Uno arbitrari i s'utilitza en interfícies Uno genèriques.

### Sintaxi:

oUnoValue = CreateUnoValue( "[]byte", MyBasicValue ) ' per a obtenir una seqüència de bytes.

If CreateUnoValue cannot be converted to the specified Uno type, and error occurs. For the conversion, the com.sun.star.script.Converter service is used.

This function is intended for use in situations where the default Basic to Uno type converting mechanism is insufficient. This can happen when you try to access generic Any based interfaces, such as XPropertySet::setPropertyValue( Name, Value ) or X???Container::insertBy???( ???, Value ), from LibreOffice Basic. The Basic runtime does not recognize these types as they are only defined in the corresponding service.

In this type of situation, LibreOffice Basic chooses the best matching type for the Basic type that you want to convert. However, if the wrong type is selected, an error occurs. You use the CreateUnoValue() function to create a value for the unknown Uno type.

You can also use this function to pass non-Any values, but this is not recommend. If Basic already knows the target type, using the CreateUnoValue() function will only lead to additional converting operations that slow down the Basic execution.