Functie CreateUnoValue

Geeft een object dat voor een nauwkeurig getypeerde waarde staat die naar het Uno-typesysteem verwijst.

Dit object wordt automatisch geconverteerd naar een Any van het overeenkomstige type wanneer het wordt doorgegeven aan Uno. Het type moet worden gespecificeerd met de volledig gekwalificeerde Uno-typenaam.

Notitiepictogram

De LibreOffice API gebruikt vaak het type Any. Het is de tegenhanger van het type Variant dat bekend is uit andere omgevingen. Het Any type bevat één willekeurig Uno-type en wordt gebruikt in generieke Uno-interfaces.


Syntaxis:


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

Geretourneerde waarde:

Object

Parameters:

Type: De volledig gekwalificeerde Uno-typenaam. Ondersteunde gegevenstypen zijn void, char, boolean, byte, short, unsigned short, long, unsigned long, hyper, unsigned hyper, float, double, string, type en any. Namen zijn hoofdlettergevoelig en kunnen worden voorafgegaan door vierkante haken om een matrix aan te geven.

Value: Een strikt ingevoerde waarde.


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

Foutcodes:

Als CreateUnoValue de waarde niet kan converteren naar het opgegeven Uno-type, treedt er een fout op. De dienst com.sun.star.script.Converter is verantwoordelijk voor de conversie.

Voorbeeld:

Deze functie is bedoeld voor gebruik in situaties waarin het standaard conversiemechanisme van het type Basic naar Uno onvoldoende is. Dit gebeurt door generieke op Any gebaseerde API-methoden aan te roepen, zoals com.sun.star. bonen.XPropertySet.setPropertyValue() of com.sun.star .container.XNameContainer.insertByName(). CreateUnoValue() stelt een waardeobject in voor het onbekende Uno-type.

Dit voorbeeld gebruikt com.sun.star.beans.XPropertySet.addProperty() methode om een documenteigenschap te maken waarvan de standaardwaarden het gebruik van CreateUnoValue() vereisen:


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

U kunt deze functie ook gebruiken om non-Any waarden door te geven, maar dit wordt niet aanbevolen. Als Basic het doeltype al kent, zal het gebruik van de functie CreateUnoValue() alleen leiden tot extra conversiebewerkingen die de Basic-uitvoering vertragen.

Help ons, alstublieft!