IBM Lotus Symphony


Функция CreateUnoValue [встроенная]

Возвращает объект, представляющий введенное значение в системе типов Uno.

При передаче в Uno этот объект автоматически преобразуется в объект Any соответствующего типа. Тип должен быть задан своим полным именем в Uno.

Значок Примечание В API Lotus® Symphony™ часто применяется тип Any. Это аналог типа Variant, встречающегося в других средах. Тип Any содержит один произвольный тип Uno и применяется в общих интерфейсах Uno.

Синтаксис:

oUnoValue = CreateUnoValue( "[]byte", MyBasicValue ) для получения последовательности байт.

Если CreateUnoValue нельзя преобразовать в указанный тип Uno, происходит ошибка. Для преобразования применяется служба TypeConverter.

Эта функция предназначена для применения в ситуациях, когда предусмотренного в Basic механизма преобразования в тип Uno недостаточно. Например, такое возможно при попытке обратиться к общим интерфейсам на базе Any, таким как XPropertySet::setPropertyValue( Name, Value ) или X???Container::insertBy???( ???, Value ), предусмотренным в поддержке Basic Lotus Symphony. Среда выполнения Basic не распознает эти типы, поскольку они определены только в соответствующей службе.

В таких ситуациях среда Basic Lotus Symphony выбирает наиболее подходящий тип для преобразуемого типа Basic. Однако, если тип выбран неверно, происходит ошибка. Для создания значения для неизвестного типа Uno и применяется функция CreateUnoValue().

Эту функцию можно также использовать для передачи значений, тип которых отличен от Any, но это не рекомендуется. Если в Basic уже известен целевой тип, то применение функции CreateUnoValue() приведет лишь к дополнительным преобразованиям, которые замедлят работу Basic.


Комментарии по продукту | Дополнительная документация | Товарные знаки