Indhold
Indholdsfortegnelse 🔎︎

# CreateUnoValue-funktion

Returnerer et objekt som repræsenterer en nøje indtastet værdi, refererende til Uno-type systemet.

Dette objekt konverteres automatisk til en Any af den tilsvarende type når den overføres til Uno. Typen skal være angivet ved dets fulde kvalificerede Uno-type navn.

LibreOffice API'en bruger ofte Any-typen. Det er modparten til Variant-typen kendt fra andre miljøer. Any-typen indeholder en vilkårlig Uno-type og bruges i generiske Uno-grænseflader.

### Syntaks:

oUnoValue = CreateUnoValue( "[]Byte", MyBasicValue ) ' for at få en bytesekvens.

Hvis CreateUnoValue ikke kan konverteres til den specificerede >Uno-type, sker der en fejl. Til konverteringen bruges tjenesten TypeConverter.

Denne funktion er beregnet til brug i situationer, hvor standard konverteringsmekanismen Basic til Uno-type ikke er tilstrækkelig. Dette kan ske, når du forsøger at tilgå generiske Any-baserede grænseflader, såsom XPropertySet::setPropertyValue( Name, Value ) eller X???Container::insertBy???( ???, Value ) fra LibreOffice Basic. Basic-afviklingsmiljøet genkender ikke disse typer, da de udelukkende er defineret i den tilsvarende tjeneste.

I den slags situation vælger LibreOffice Basic den type, der bedst matcher den Basic-type, du vil konvertere. Hvis en forkerte type vælges, sker der imidlertid en fejl. Du bruger funktionen CreateUnoValue() til at oprette en værdi til den ukendte Uno-type.

Du kan også bruge denne funktion udstede ikke-Any-værdier, men det anbefales ikke. Hvis Basic allerede kender måltypen, vil brug af funktionen CreateUnoValue() bare føre til yderligere konverteringshandlinger, som sinker udførelsen af Basic.