Συνάρτηση CreateUnoValue

Επιστρέφει ένα αντικείμενο που αντιπροσωπεύει μια αυστηρά δηλωμένη τιμή που αναφέρεται στο σύστημα τύπων Uno.

Αυτό το αντικείμενο μετατρέπεται αυτόματα σε Any του αντίστοιχου τύπου όταν περνιέται σε Uno. Ο τύπος πρέπει να οριστεί από το πλήρως κατάλληλο όνομα τύπου Uno.

Εικονίδιο σημείωσης

Το LibreOffice API συχνά χρησιμοποιεί τον τύπο Any. Είναι το αντίστοιχο του τύπου Variant που είναι γνωστό από άλλα περιβάλλοντα. Ο τύπος Any περιέχει έναν αυθαίρετο τύπο Uno και χρησιμοποιείται στις γενικές διεπαφές Uno.


Σύνταξη:

oUnoValue = CreateUnoValue( "[]byte", MyBasicValue ) ' για να πάρετε την αλληλουχία byte.

Εάν η CreateUnoValue δεν μπορέσει να μετατραπεί στο συγκεκριμένο τύπο Uno, εμφανίζεται ένα λάθος. Για τη μετατροπή, χρησιμοποιείται η υπηρεσία TypeConverter.

Αυτή η συνάρτηση προορίζεται για χρήση στις περιπτώσεις όπου ο προεπιλεγμένος μηχανισμός μετατροπής Basic σε τύπο Uno είναι ανεπαρκής. Αυτό μπορεί να συμβεί όταν προσπαθείτε να προσπελάσετε βασικές γενικά Any με βάση διεπαφές, όπως XPropertySet::setPropertyValue(Όνομα, Τιμή) ή X???Container::insertBy???( ???, Τιμή ), από την LibreOffice Basic. Ο χρόνος εκτέλεσης της Basic δεν αναγνωρίζει αυτούς τους τύπους γιατί καθορίζονται μόνο στην αντίστοιχη υπηρεσία.

Σε αυτό είδος των καταστάσεων, LibreOffice η Basic επιλέγει τον τύπο που ταιριάζει καλύτερα για τον τύπο της Basic που θέλετε να μετατρέψετε. Εντούτοις, εάν επιλέγει λανθασμένος τύπος, ένα λάθος συμβαίνει. Χρησιμοποιείστε την συνάρτηση CreateUnoValue() για να δημιουργήσει μια τιμή για τον άγνωστο τύπο Uno.

Μπορείτε επίσης να χρησιμοποιήσετε αυτήν την συνάρτηση για να περάσετε τιμές μη Any, αλλά αυτό δεν συστήνεται. Εάν η Basic ξέρει ήδη τον τύπο προορισμού, χρήση της συνάρτησης CreateUnoValue() θα οδηγήσει μόνο σε πρόσθετες διαδικασίες μετατροπής που επιβραδύνουν την εκτέλεση της Basic.