Vsebina
Kazalo 🔎︎

# Funkcija CreateUnoValue

Vrne predmet, ki predstavlja striktno tipizirano vrednost z ozirom na sistem vrste Uno.

Ta predmet se samodejno preoblikuje v Any ustrezne vrste, ko je podan v Uno. Vrsto je potrebno navesti s polnim kvalificiranim imenom vrste Uno.

LibreOffice API pogostoma uporablja vrsto Any. Gre za dvojčka vrste Variant, ki ga poznamo iz drugih okolij. Vrsta Any vsebuje poljubno vrsto Uno in se jo uporablja v generičnih vmesnikih Uno.

## Skladnja:

    oUnoPredmet = CreateUnoValue( "[]byte", MyBasicValue ) ' da dobite zaporedje bajtov

Če CreateUnoValue ni mogoče pretvoriti v navedeno vrsto Uno, pride do napake. Za pretvorbo se uporablja storitev TypeConverter.

Ta funkcija je namenjena uporabi v primerih, ko standardni sistem za pretvorbo iz Basica v Uno ne zadošča. Do tega lahko pride, če skušate uporabiti generične, na Any zasnovane vmesnike, kot sta recimo XPropertySet::setPropertyValue( Ime, Vrednost ) ali pa X???Container::insertBy???( ???, Vrednost ), iz LibreOffice Basica. Izvajalno okolje Basic teh vrst ne prepozna, ker so definirane samo v ustrezni storitvi.

VB takih primerih izbere LibreOffice Basic vrsto, ki izvorni vrsti Basic, ki jo želite pretvoriti, še najbolj ustreza. Pri tem pa pride do napake, če izbor ni pravilen. Funkcijo CreateUnoValue() uporabite za to, da za neznano vrsto Uno ustvari vrednost.

Funkcijo lahko uporabite tudi za to, da podajate vrednosti, ki niso Any, vendar to ni priporočeno. Če ciljno vrsto Basic že pozna, bo z uporabo funkcije CreateUnoValue() prišlo samo do dodatnih pretvarjanj, ki bodo izvajanje Basica samo zavirale.