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.

Symbolen Info

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.