| Interstage Application Server アプリケーション作成ガイド (CORBAサービス編) |
目次
索引
![]()
|
| 第5章 アプリケーションの開発(C++言語) | > 5.5 データ型に対するマッピング |
可変長データは、データをクライアントへ返却後、スケルトン中で自動的に解放します。
そのため、解放したくないデータについては、そのデータをどこか別の領域に複写しておく必要があります。文字列(string)を例に説明します。

しかし、any、sequenceのような複雑な型の場合には、コピーする処理が複雑なため、リリースフラグを設定し、解放する/しないを設定できるようになっています。
リリースフラグの設定方法について以下に示します。
|
変数型 |
設定方法 |
|
any |
コンストラクタまたはreplaceメソッドを使用。デフォルトはCORBA_FALSE (注) 例) |
|
sequence |
コンストラクタを使用。デフォルトはCORBA_FALSE (注) 例)
struct sample {
string para1;
long para2;
};
typedef sequence<sample> data;
−>
sample_var *p = sample::allocbuf(2);
data *q = new data( 2, 2, p, CORBA_TRUE );
(2,2はそれぞれmaximum, length) |
注) CORBA_TRUEのとき解放されます。CORBA_FALSEのときは解放されません。
目次
索引
![]()
|