Collabora Office 24.04 Βοήθεια
Επιστρέφει ένα αντικείμενο που αντιπροσωπεύει μια αυστηρά δηλωμένη τιμή που αναφέρεται στο σύστημα τύπων Uno.
Αυτό το αντικείμενο μετατρέπεται αυτόματα σε Any του αντίστοιχου τύπου όταν μεταβιβαστεί στο Uno. Ο τύπος πρέπει να προσδιορίζεται από το πλήρως αναγνωρισμένο όνομα τύπου Uno.
Το API τουCollabora Office χρησιμοποιεί συχνά τον τύπο Any. Είναι το αντίστοιχο του τύπου Variant που είναι γνωστός από άλλα περιβάλλοντα. Ο τύπος Any περιέχει έναν αυθαίρετο τύπο Uno και χρησιμοποιείται σε γενικές διεπαφές Uno.
CreateUnoValue(Type As String, Value As Object) As Object
Αντικείμενο
Type: Το πλήρως πιστοποιημένο όνομα τύπου Uno. Οι υποστηριζόμενοι τύποι δεδομένων είναι void, char, boolean, byte, short, unsigned short, long, unsigned long, hyper, unsigned hyper, float, double, string, type, και any. Τα ονόματα κάνουν διάκριση πεζών-κεφαλαίων και μπορεί να προηγούνται αγκύλες για να υποδείξουν έναν πίνακα.
Value: Μια αυστηρά πληκτρολογημένη τιμή.
byte_sequence_object = CreateUnoValue("[]byte", Array(85, 3, 27))
Εάν το CreateUnoValue δεν μπορεί να μετατρέψει την τιμή στον καθορισμένο τύπο Uno, παρουσιάζεται σφάλμα. Η υπηρεσία com.sun.star.script.Converter είναι υπεύθυνη για τη μετατροπή.
Αυτή η συνάρτηση προορίζεται για χρήση σε περιπτώσεις όπου ο προεπιλεγμένος μηχανισμός μετατροπής τύπου Basic σε Uno είναι ανεπαρκής. Αυτό συμβαίνει με την κλήση γενικών μεθόδων API που βασίζονται σε Any, όπως com.sun.star. beans.XPropertySet.setPropertyValue(), ή com.sun.star.container.XNameContainer.insertByName(). Το CreateUnoValue() ορίζει ένα αντικείμενο τιμής για τον άγνωστο τύπο Uno.
Αυτό το παράδειγμα χρησιμοποιεί τη μέθοδο com.sun.star.beans.XPropertySet.addProperty( για τη δημιουργία μιας ιδιότητας εγγράφου της οποίας οι προεπιλεγμένες τιμές απαιτούν χρήση του CreateUnoValue():
With ThisComponent.DocumentProperties.getUserDefinedProperties()
.addProperty("FOO", com.sun.star.beans.PropertyAttribute.REMOVEABLE, CreateUnoValue("double", 23))
End With
Μπορείτε επίσης να χρησιμοποιήσετε αυτήν τη συνάρτηση για να μεταβιβάσετε τιμές non-Any, αλλά αυτό δεν συνιστάται. Εάν η Basic γνωρίζει ήδη τον τύπο προορισμού, η χρήση της συνάρτησης CreateUnoValue() θα οδηγήσει μόνο σε πρόσθετες λειτουργίες μετατροπής που επιβραδύνουν την εκτέλεση της Basic.