CreateUnoValue-funksjonen

Returnerer eit objekt som inneheld ein nøyaktig innskrive verdi som refererer til typesystemet Uno.

Dette objektet vert konvertert automatisk til ein Any av tilsvarande type når det vert overført til Uno. Typen må vera spesifisert med fullt kvalifiserte Uno-typenamn.

Merknadsikon

LibreOffice API brukar Any-typen ofte. Det er motstykket til Variant-typen kjend frå andre miljø. Any-typen inneheld ein vilkårleg Uno-type og vert brukt i generiske Uno-grensesnitt.


Syntaks:


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

Returverdi:

Objekt

Parametrar:

Type: Det fullt kvalifiserte Uno-typenamnet. Støtta datatypar er void, char, boolean, byte, short, unsigned short, long, unsigned long, hyper, unsigned hyper, flyte, double, string, type og any. Namna skil mellom store og små bokstavar og kan innleiast med hakeparentesar for å indikera ei matrise.

Value: Ein strengt skrive verdi.


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

Feilkodar

Viss CreateUnoValue ikkje kan konvertera verdien til den gjevne Uno-typen, oppstår det ein feil. Tenesta com.sun.star.script.Converter er ansvarleg for konverteringa.

Eksempel:

Denne funksjonen er meint for bruk i situasjonar der standard konverteringsmekanisme av typen Basic til Uno er utilstrekkeleg. Dette skjer ved å kalla generiske Any-baserte API-metodar, for eksempel com.sun.star. beans.XPropertySet.setPropertyValue() eller com.sun.star .container.XNameContainer.insertByName(). CreateUnoValue() set eit verdiobjekt for den ukjende Uno-typen.

Dette eksempelet brukar com.sun.star.beans.XPropertySet.addProperty()-metoden for å laga ein dokumenteigenskap der standardverdiar krev CreateUnoValue()-bruk:


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

Du kan også bruka denne funksjonen for å overføra non-Any verdiar, men det vert ikkje tilrådd. Om Basic kjenner til måltypen frå før, vil bruk av funksjonen CreateUnoValue() føra til ytterlegare konverteringsfunksjonar som gjer at utføringa av Basic-programmet går saktare.

Støtt oss!