Indhold

# CreateUnoValue-funktion

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

Dette objekt bliver automatisk konverteret til en Any af tilsvarende type, når det overføres til Uno. Typen må være specificeret med det fuldt kvalificerede Uno-typenavn.

LibreOffice API bruger ofte typen Any. Typen er modstykket til Variant-typen kendt fra andre miljøer. Any-typen kan indeholde en vilkårlig Uno-type og bruges de generiske Uno-grænseflader.

### Syntaks:

      CreateUnoValue(Type As String, Value As Object) As Object

### Returtype

Object

### Parametre:

Navn | Type | Beskrivelse
--- | --- | ---
Type | String | Det fuldt kvalificerede Uno-typenavn. De understøttede datatyper er void, char, boolean, byte, short, unsigned short, long, unsigned long, hyper, unsigned hyper, float, double, string, type og any. Navne skelner mellem store og små bogstaver og kan indledes med firkantede parenteser for at angive et array.
Value | Object | En værdi med præcis type.

### Fejlkoder:

Hvis CreateUnoValue ikke kan konvertere værdien til den specificerede Uno-type, opstår en fejl. Servicen com.sun.star.script.Converter er ansvarlig for konverteringen.

### Eksempel:

       byte_sequence_object = CreateUnoValue("[]byte", Array(85, 3, 27))

### Eksempel:

Denne funktion er beregnet til brug i situationer, hvor den almindelige Basic-til-Uno konverteringsmekanisme er utilstrækkelig. Dette sker ved kald af generiske Any-baserede API-metoder, for eksempel com.sun.star.beans.XPropertySet.setPropertyValue() eller com.sun.star.container.XNameContainer.insertByName(). Funktionen CreateUnoValue() fastlægger et værdiobjekt for den ukendte Uno-type.

Dette eksempel bruger com.sun.star.beans.XPropertySet.addProperty() metoden til at oprette en dokumentegenskab, hvor standardværdierne kræver brug af CreateUnoValue():

      With ThisComponent.DocumentProperties.getUserDefinedProperties()
          .addProperty("FOO", com.sun.star.beans.PropertyAttribute.REMOVEABLE, CreateUnoValue("double", 23))
      End With

Du kan også bruge denne funktion til at overføre værdier af andre typer end Any, men det anbefales ikke. Hvis Basic allerede kende måltype, så vil brug af CreateUnoValue()-funktionen kun lede til flere konverteringsoperationer, som vil gøre udførelsen af Basic langsommere.

Relaterede emner

UNO-objekter, -funktioner og -tjenester