ເນື້ອໃນ

# ຟັງຊັນ CreateUnoValue

ສົ່ງຄືນວັດຖຸທີ່ສະແດງເຖິງຄ່າທີ່ມີການກຳນົດປະເພດຢ່າງເຄັ່ງຄັດເຊິ່ງອ້າງອີງເຖິງລະບົບປະເພດ Uno.

ວັດຖຸນີ້ຈະຖືກປ່ຽນເປັນປະເພດ Any ທີ່ກົງກັນໂດຍອັດຕະໂນມັດເມື່ອຖືກສົ່ງໄປຫາ Uno. ປະເພດຕ້ອງໄດ້ຮັບການລະບຸດ້ວຍຊື່ປະເພດ Uno ທີ່ສົມບູນ.

API ຂອງ LibreOffice ມັກໃຊ້ປະເພດ Any ເລື້ອຍໆ. ມັນເປັນສິ່ງທີ່ທຽບເທົ່າກັບປະເພດ Variant ໃນສະພາບແວດລ້ອມອື່ນໆ. ປະເພດ Any ສາມາດເກັບປະເພດ Uno ໃດໆກໍໄດ້ ແລະ ຖືກໃຊ້ໃນອິນເຕີເຟສ Uno ທົ່ວໄປ.

### ໄວຍາກອນ:

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

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

Object

### ພາຣາມິເຕີ:

ຊື່ | ປະເພດ | ຄຳອະທິບາຍ
--- | --- | ---
Type | String | ຊື່ປະເພດ Uno ທີ່ສົມບູນ. ປະເພດຂໍ້ມູນທີ່ຮອງຮັບແມ່ນ void, char, boolean, byte, short, unsigned short, long, unsigned long, hyper, unsigned hyper, float, double, string, type, ແລະ any. ຊື່ແມ່ນຈຳແນກຕົວພິມໃຫຍ່-ນ້ອຍ ແລະ ອາດຈະມີວົງຂໍ (square brackets) ນຳໜ້າເພື່ອລະບຸວ່າເປັນອາເຣ.
ຄ່າ | Object | ຄ່າທີ່ມີການກຳນົດປະເພດຢ່າງເຄັ່ງຄັດ.

### ລະຫັດຂໍ້ຜິດພາດ:

ຖ້າ CreateUnoValue ບໍ່ສາມາດປ່ຽນຄ່າເປັນປະເພດ Uno ທີ່ລະບຸໄດ້, ຈະເກີດຂໍ້ຜິດພາດ. ບໍລິການ com.sun.star.script.Converter ຈະຮັບຜິດຊອບໃນການປ່ຽນແປງນີ້.

### ຕົວຢ່າງ:

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

### ຕົວຢ່າງ:

ຟັງຊັນນີ້ແມ່ນມີຈຸດປະສົງເພື່ອໃຊ້ໃນສະຖານະການທີ່ກົນໄກການປ່ຽນປະເພດ 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

ທ່ານຍັງສາມາດໃຊ້ຟັງຊັນນີ້ເພື່ອສົ່ງຄ່າທີ່ບໍ່ແມ່ນ Any ໄດ້, ແຕ່ບໍ່ແນະນຳ. ຖ້າ Basic ຮູ້ປະເພດເປົ້າໝາຍຢູ່ແລ້ວ, ການໃຊ້ຟັງຊັນ CreateUnoValue() ຈະເຮັດໃຫ້ມີຂັ້ນຕອນການປ່ຽນແປງເພີ່ມເຕີມ ເຊິ່ງເຮັດໃຫ້ການເຮັດວຽກຂອງ Basic ຊ້າລົງ.

ຫົວຂໍ້ທີ່ກ່ຽວຂ້ອງ

ອັອບເຈັກ, ຟັງຊັນ ແລະ ບໍລິການຂອງ UNO

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!