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

Biểu tượng Ghi chú

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.


Cú pháp:

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

Nếu CreateUnoValue không thể được chuyển đổi sang kiểu Uno đã ghi rõ, thì gặp lỗi. Để chuyển đổi, dùng dịch vụ TypeConverter.

Hàm này dự định để sử dụng trong trường hợp mà cơ chế chuyển đổi kiểu Basic sang Uno mặc định không còn đủ. Đây có thể xảy ra khi bạn thử truy cập đến giao diện chung dựa vào kiểu Any (bất kỳ), v.d. « XPropertySet::setPropertyValue( Name, Value ) » hay « X???Container::insertBy???( ???, Value ) », từ LibreOffice Basic. Lúc chạy, Basic không nhận ra các kiểu này vì chúng chỉ được định nghĩa trong dịch vụ tương ứng.

Trong trường hợp kiểu này, LibreOffice Basic chọn kiểu tương ứng tốt nhất với kiểu Basic cần chuyển đổi. Tuy nhiên, nếu kiểu không đúng được chọn, một lỗi sẽ xảy ra. Bạn nên sử dụng hàm CreateUnoValue() để tạo một giá trị cho kiểu Uno không rõ.

Bạn cũng có thể sử dụng hàm này để gửi giá trị khác Any, nhưng ứng xử này không phải khuyến khích. Nếu Basic đã biết kiểu đích, dùng hàm CreateUnoValue() sẽ chỉ dẫn tới thao tác chuyển đổi thêm nữa mà làm cho mã Basic thực hiện chậm.