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.
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.