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.

Noteikon

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 (Opret_Uno-værdi) ikke kan konverteres til den angivne Uno-type, sker der en fejl. Til konverteringen bruges tjenesten com.sun.star.script.Converter.

Denne funktion er beregnet til brug i situationer, hvor standardmekanismen Basic til Uno typekonvertering er utilstrækkelig. Dette kan ske, når du prøver at tilgå generiske grænseflader baseret på Any, 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 denne slags situationer vælger LibreOffice Basic den bedst matchende type til den Basic-type, som du vil konvertere. Hvis en forkerte type bliver valgt, sker der en fejl. Du bruger funktionen CreateUnoValue() til at oprette en værdi til den ukendte Uno-type.

Du kan også bruge denne funktion behandle ikke-Any værdier, men det anbefales ikke. Hvis Basic allerede kender måltypen, vil brug af funktionen CreateUnoValue() kun føre til yderligere konverteringsoperationer, der sinker afviklingen af Basic.

Støt os venligst!