Module
Contents
Index 🔎︎

# CreateUnoValue Function

Returnerar ett objekt som representerar ett strikt skrivet värde som refererar till typsystemet Uno.

Det här objektet konverteras automatiskt till ett Any av motsvarande typ när det överförs till Uno. Typen måste anges av sitt fullt kvalificerade Uno-typnamn.

LibreOffice API använder ofta Any-typ. Det här är motsvarigheten till Variant-typen som är bekant från andra miljöer. Any-typen innehåller en godtycklig Uno-typ och används i generiska Uno-gränssnitt.

## Syntax:

    oUnoValue = CreateUnoValue( "[]byte", MyBasicValue ) ' to get a byte sequence.

Om CreateUnoValue inte går att konvertera till den angivna Uno-typen uppstår ett fel. Vid konverteringen används tjänsten TypeConverter.

Den här funktionen är avsedd att användas i situationer där standardmekanismen för konvertering av Basic till Uno inte räcker till. Det kan hända om du försöker få åtkomst till generiska Any-baserade gränssnitt, till exempel XPropertySet::setPropertyValue( Name, Value ) eller X???Container::insertBy???( ???, Value ) från LibreOffice Basic. Basic-runtime känner inte igen de här typerna eftersom de bara är definierade i motsvarande tjänst.

Vid sådana här situationer väljer LibreOffice Basic den bästa matchningstypen för den Basic-typ som du vill konvertera. Om fel typ markeras uppstår däremot ett fel. Använd CreateUnoValue()-funktionen för att skapa ett värde för den okända Uno-typen.

Du kan också använda den här funktionen för att överföra icke-Any-värden, men det rekommenderas inte. Om Basic redan känner till måltypen och CreateUnoValue()-funktionen används så leder det bara till ytterligare konverteringsoperationer som ger långsammare körning av Basic.