Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
|
目次
索引

|
9.5.3 共用体
共用体に値を設定するには、CreateType関数またはCreateTypeById関数でオブジェクトのリファレンスを検索し、その結果をObject型変数に格納します。オブジェクトのプロパティに設定することにより、共用体のメンバに値を設定することができます。プロパティのUNION_dは、データの種別を格納した弁別情報です。共用体のVisual Basicでの使用例を以下に示します。
IDL言語
interface example6 {
typedef union UNI switch(long) { // long、float、charを持つ共用体
case 1 : long x;
case 2 : float y;
default: char z;
} Foo;
short set(in Foo udata); // 共用体のパラメタを持つset関数、
// 復帰値short型
...
} ;
Visual Basic
Dim uni1 As Object // データ型のリファレンス
Dim discriminator As Variant // 弁別情報格納変数
Dim ret As Integer // 復帰値格納変数
Dim ans As Variant // 共用体データ格納変数
Set uni1 = factory.CreateType(obj, "Foo") // データ型のリファレンスの検索
uni1.x = 100 // 共用体にデータを代入
ret = obj.set(uni1) // set関数の呼び出し
discriminator = uni1.UNION_d // 弁別情報の格納
Select Case discriminator // 弁別情報によるデータの判定
Case 1 // long型の処理
ans = uni1.x
Case 2
ans = uni1.y
Case Else // char型の処理
ans = uni1.z
Copyright 2006 FUJITSU LIMITED