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.

note

LibreOfficeDev 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:


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

Vrnjena vrednost:

Predmet

Parametri:

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.


Kode napak:

Če CreateUnoValue ni mogoče pretvoriti v navedeno vrsto Uno, pride do napake. Za pretvorbo se uporablja storitev com.sun.star.script.Converter.

Primer:


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

Primer:

Ta funkcija je namenjena rabi, ko je privzeti mehanizem pretvorbe med vrstami Basic v Uno nezadosten. To se zgodi pri klicih generičnih metod API-ja Any, kot sta com.sun.star.beans.XPropertySet.setPropertyValue() in com.sun.star.container.XNameContainer.insertByName(). CreateUnoValue() določi vrednost predmeta za neznano vrsto Uno.

Ta primer uporablja metodo com.sun.star.beans.XPropertySet.addProperty() za ustvarjanje lastnosti dokumenta, katere privzete vrednosti zahtevajo rabo CreateUnoValue():


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

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