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

第7章 アプリケーションの開発(COBOL)

7.9 any型、sequence型のリリースフラグ

 可変長データは、データをクライアントへ返却後、スケルトン中で自動的に解放します。
 そのため、解放したくないデータについては、そのデータをどこか別の領域に複写しておく必要があります。文字列(string)を例に説明します。

 しかし、any、sequenceのような複雑な型の場合には、コピーする処理が複雑なため、リリースフラを設定し、解放する/しないを設定できるようになっています。
 リリースフラグの設定方法について述べます。

変数型

設定方法

any

CORBA-ANY-SET-RELEASEを使用。デフォルトはCORBA-FALSE-VALUE(注)
例)CALL "CORBA-ANY-ALLOC" USING
     ANY-VAL.
  CALL "CORBA-ANY-SET-RELEASE" USING
     ANY-POINTER
     REL-FLAG.

sequence

CORBA-SEQUENCE-SET-RELEASEを使用。デフォルトはCORBA-FALSE-VALUE(注)
例)struct sequence<long> data;
  −>
  CALL "CORBA-DATA-ALLOC" USING
     SEQ-POINTER.
  CALL "CORBA-SEQUENCE-SET-RELEASE" USING
     SEQ-POINTER
     REL-FLAG.

注) CORBA-TRUE-VALUEのとき解放されます。CORBA-FALSE-VALUEのときは解放されません。


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

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