CreateUnoValue-funksjonen

Returnerer et objekt som representerer en strengt skrevet verdi som refererer til Uno-typesystemet.

Dette objektet konverteres automatisk til en Any av tilsvarende type når det sendes til Uno. Typen må spesifiseres med sitt fullt kvalifiserte Uno-typenavn.

note

LibreOfficeDev API bruker ofte typen Any. Det er motstykket til Variant-typen kjent fra andre miljøer. Any-typen har én vilkårlig Uno-type og brukes i generiske Uno-grensesnitt.


Syntaks:


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

Returverdi:

Objekt

Parametre:

Name

Type

Description

Type

String

The fully qualified Uno type name. Supported data types are void, char, boolean, byte, short, unsigned short, long, unsigned long, hyper, unsigned hyper, float, double, string, type, and any. Names are case sensitive and may be preceded by square brackets to indicate an array.

Value

Object

A strictly typed value.


Feilkoder

Hvis CreateUnoValue ikke kan konvertere verdien til den angitte Uno-typen, oppstår det en feil. Tjenesten com.sun.star.script.Converter er ansvarlig for konverteringen.

Eksempel:


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

Eksempel:

Denne funksjonen er ment for bruk i situasjoner der standard konverteringsmekanisme av typen Basic til Uno er utilstrekkelig. Dette skjer ved å kalle generiske Alle-baserte API-metoder, for eksempel com.sun.star. beans.XPropertySet.setPropertyValue() eller com.sun.star .container.XNameContainer.insertByName(). CreateUnoValue() setter et verdiobjekt for den ukjente Uno-typen.

Dette eksemplet bruker com.sun.star.beans.XPropertySet.addProperty()-metoden for å lage en dokumentegenskap hvis standardverdier krever CreateUnoValue()-bruk:


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

Du kan også bruke denne funksjonen til å sende non-Any verdier, men dette anbefales ikke. Hvis Basic allerede kjenner måltypen, vil bruk av CreateUnoValue()-funksjonen bare føre til ytterligere konverteringsoperasjoner som bremser Basic-kjøringen.