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.

Si CreateUnoValue no es pot convertir en el tipus d'Uno especificat, es produeix un error. Per la conversió, s'utilitza el servei TypeConverter.

Cal utilitzar aquesta funció en situacions en què el valor per defecte del Basic per al mecanisme de conversió de tipus d'Uno sigui insuficient. Això es pot produir quan intenteu accedir a interfícies basades en Any genèriques, com ara XPropertySet::setPropertyValue( Name, Value ) o X???Container::insertBy???( ???, Value ), del LibreOffice Basic. L'execució del Basic no reconeix aquests tipus perquè només es defineixen al servei corresponent.

En aquest tipus de situació, el LibreOffice Basic tria el tipus que coincideix millor amb el tipus del Basic que voleu convertir. No obstant això, si se selecciona el tipus incorrecte, es produeix un error. Podeu utilitzar la funció CreateUnoValue() per crear un valor per al tipus d'Uno desconegut.

També podeu utilitzar aquesta funció per passar valors que no siguin Any, però això no es recomana. Si el Basic ja coneix el tipus de destinació, l'ús de la funció CreateUnoValue() només conduirà a operacions de conversió addicionals que alenteixen l'execució del Basic.