IBM Lotus Symphony
|
Возвращает объект, представляющий введенное значение в системе типов 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.