Lotus Symphony 1.2


CreateUnoValue 函數 [執行時期]

傳回物件,其代表參照 Uno 類型系統的精分值。

該物件傳送到 Uno 時,自動轉換成相應的 Any 類型。此類型必須由其完整 Uno 類型名稱來指定。

此圖示標示包含其他資訊的文字。 IBM® Lotus® Symphony™ API 經常使用 Any 類型。與其他環境中已知的 Variant 類型互補。Any 類型具有一個任意的 Uno 類型,並用於通用的 Uno 介面中。

語法:

oUnoValue = CreateUnoValue ( "[]byte", MyBasicValue ) 以取得位元組序列。

如果無法將 CreateUnoValue 轉換為指定的 Uno 類型,將發生錯誤。轉換時使用 TypeConverter 服務。

此函數適用於預設轉換機制 (由 Basic 轉換至 Uno 類型) 無法滿足要求的情形。 當您嘗試從 Lotus Symphony Basic 存取同屬 Any 型介面,如 XPropertySet::setPropertyValue( Name, Value) 或 X???Container::insertBy???( ???, Value) 時,可能會發生此種情況。(???, Value) 時,可能出現此種情形。由於這些類型僅在相對服務中進行過定義,因此 Basic 執行時期不能識別這些類型。

在這種情形下,Lotus Symphony Basic 會為您想要轉換的 Basic 類型選擇最相符的類型。但是如果選取了錯誤的類型,就會發生錯誤。您可以使用 CreateUnoValue() 函數為不明的 Uno 類型建立一個值。

您還可以使用此函數來傳遞非 Any 值,但是不建議您這樣做。如果 Basic 知道目標類型,則使用 CreateUnoValue() 函數只會導致額外的轉換作業,因而降低 Basic 的執行速度。


其他文件 | 商標