Module
Contents
Index 🔎︎

# CreateUnoValue Function

Uno 유형 시스템을 참조하는 정확하게 입력한 값을 나타내는 개체를 구합니다.

이 개체는 Uno에 전달될 때 해당 유형의 Any로 자동 변환됩니다. 유형은 전체 Uno 유형 이름으로 지정해야 합니다.

LibreOffice API는 Any 유형을 사용합니다. 이것은 다른 환경에서 알려진 Variant 유형의 상대 유형입니다. Any 유형은 임의의 Uno 유형 하나를 보유하며 일반 Uno 인터페이스에서 사용됩니다.

## 구문:

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

CreateUnoValue를 지정한 Uno 유형으로 변환할 수 없는 경우 오류가 발생합니다. 변환을 위해 TypeConverter 서비스가 사용됩니다.

이 함수는 Basic에서 Uno 유형으로의 기본 변환 메커니즘만으로 충분하지 않은 상황에서 사용하도록 되어 있습니다. 이러한 상황은 LibreOffice Basic에서 XPropertySet::setPropertyValue( Name, Value ) 또는 X???Container::insertBy???( ???, Value ) 같은 일반 Any 기반 인터페이스에 액세스하려고 할 때 발생할 수 있습니다. 이러한 유형은 해당 서비스에서만 지정되므로 Basic 런타임이 인식하지 않습니다.

이러한 상황에서 LibreOffice Basic은 변환할 Basic 유형에 가장 잘 일치하는 유형을 선택합니다. 그러나 잘못된 유형을 선택할 경우 오류가 발생합니다. 따라서 CreateUnoValue() 함수를 사용하여 알 수 없는 Uno 유형에 대한 값을 만듭니다.

또한 이 함수를 사용하여 Any가 아닌 값을 전달할 수 있지만 이것은 좋은 방법이 아닙니다. Basic에서 이미 대상 유형을 알고 있는 경우 CreateUnoValue() 함수를 사용하면 추가 변환 작업으로 인해 Basic 실행이 느려지는 문제만 발생할 뿐 아무런 도움이 되지 않습니다.