Module
Contents
Index 🔎︎

# CreateUnoValue Function

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

Este 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 ) ' to get a byte sequence.

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 esta funció en situacions en què el valor per defecte del Basic per al mecanisme de conversió de tipus d'Uno siga 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 estos tipus perquè només es defineixen al servei corresponent.

En este 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 esta funció per passar valors que no siguen 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.