Contents
Index 🔎︎

# CreateUnoValue Function

Trả về một đối tượng mà đại diện một giá trị kiểu chặt chẽ tham chiếu đến hệ thống kiểu Uno.

Đối tượng này được tự động chuyển đổi sang bất cứ kiểu tương ứng nào khi được gửi cho Uno. Kiểu phải được ghi rõ theo tên kiểu Uno có khả năng đầy đủ.

Giao diện API của LibreOffice thường dùng kiểu Any (bất kỳ). Nó là bộ phận tương ứng với kiểu Variant (biến thế) được biết từ các môi trường khác. Kiểu Any giữ một kiểu Uno tùy ý, và được dùng trong các giao diện Uno chung.

### Syntax:

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

If CreateUnoValue cannot be converted to the specified Uno type, and error occurs. For the conversion, the com.sun.star.script.Converter service is used.

This function is intended for use in situations where the default Basic to Uno type converting mechanism is insufficient. This can happen when you try to access generic Any based interfaces, such as XPropertySet::setPropertyValue( Name, Value ) or X???Container::insertBy???( ???, Value ), from LibreOffice Basic. The Basic runtime does not recognize these types as they are only defined in the corresponding service.

In this type of situation, LibreOffice Basic chooses the best matching type for the Basic type that you want to convert. However, if the wrong type is selected, an error occurs. You use the CreateUnoValue() function to create a value for the unknown Uno type.

You can also use this function to pass non-Any values, but this is not recommend. If Basic already knows the target type, using the CreateUnoValue() function will only lead to additional converting operations that slow down the Basic execution.