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

付録J 旧互換機能> J.1 COM/CORBA連携プログラミング> J.1.5 その他のデータ型の指定方法

J.1.5.1 シーケンス型

 シーケンスは1次元の配列として扱います。なお、データ型により、定義が異なります

(1) シーケンスがany型以外の基本データ型の場合

 シーケンスが固定長の場合は、1次元の配列をIDLで指定した個数分、獲得します。シーケンスがlong型で宣言された場合のVisual Basicでの使用例を以下に示します。

IDL言語

  typedef sequence<long,10> vec10;       // 10個のlong型

Visual Basic

  Dim vec10(10) As long                  // 10個のlong型を宣言
  vec10(0) = 100                         // 各メンバにデータを代入
  vec10(1) = 101                         // 各メンバにデータを代入
  ... 
  vec10(9) = 109                         // 各メンバにデータを代入

(2) シーケンスが構造体、共用体、any型、オブジェクト、またはTypeCodeの場合

 シーケンスが構造体、共用体、any型、オブジェクト、またはTypeCodeから構成される場合は、シーケンスのメンバをCreateType関数またはCreateTypeById関数でオブジェクトのリファレンスを検索し、その結果をObject型の配列に格納します。シーケンスがstruct型で宣言された場合のVisual Basicでの使用例を以下に示します。

IDL言語

  typedef struct STR {                         // aとbを持つstruct
      long a,b; 
  } Foo; 
  typedef sequence<Foo,10> FooSeq;             // aとbを持つstruct10個のシーケンス

Visual Basic

  Dim FooSeq(10) As Object                     // 10個のObject型を宣言

  FooSeq(0) = factory.CreateType( obj, "Foo" ) // データ型のリファレンスを10個分検索
  FooSeq(1) = factory.CreateType( obj, "Foo" ) 
  ... 

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005