CreateUnoValue Function

Visszaad egy objektumot, amely egy olyan, szigorúan típusos változóértéket jelenít meg, amely az Uno-típusrendszerre hivatkozik.

Ezt az objektumot a rendszer az Unonak történő átadáskor automatikusan átalakítja a megfelelő típusok egyikére. A típust a teljes Uno-típusnévvel kell megadni.

Jegyzet ikon

A LibreOffice API gyakran használja az Any (bármi) típust. Ez más környezetekben a Variant néven ismert típus megfelelője. Az Any (bármi) típus egy tetszőleges Uno-típust tartalmaz, és általános célú Uno-felületekben használható.


Szintaxis:

oUnoValue = CreateUnoValue( "[]byte", MyBasicValue ) ' to get a byte sequence.

Ha a CreateUnoValue nem konvertálható a megadott Uno-típusra, akkor hiba történik. A konverzióhoz a TypeConverter szolgáltatás használható.

Ez a függvény olyan helyzetben használható, ahol az alapértelmezett Basic-Uno típusátalakítás mechanizmus nem megfelelő. Ez akkor történhet, ha általános Any (bármi) alapú felületeket próbál meg elérni, mint például az XPropertySet::setPropertyValue( Név, Érték ) vagy X???Container::insertBy???( ???, Érték) a LibreOffice Basic termékből. A Basic futásidejű környezet nem ismeri fel ezeket a típusokat, ha ezek csak a megfelelő szolgáltatásban vannak megadva.

Ilyen helyzetben a LibreOffice Basic kiválasztja a konvertálandó Basic-típusnak legjobban megfelelő típust. Ha rossz típust választ ki, akkor hiba történik. A CreateUnoValue() függvény segítségével hozhat létre értéket az ismeretlen Uno-típushoz.

A függvénnyel átadhat nem Any (bármi) értékeket, de ez nem ajánlatos. Ha a Basic már ismeri a céltípust, akkor a CreateUnoValue() függvény használata csak további konverziós művelethez vezet, amely lelassítja a Basic-végrehajtást.