ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(CORBAサービス編)
Interstage

2.1.1 データ領域の獲得/解放処理( C, C++, COBOL )

以下のデータ型を使用する場合は、各データ型に応じた専用の関数により領域を獲得する必要があります。専用の関数で獲得していない場合は、アプリケーション動作時にメモリアクセスエラーを引き起こす要因となります。また、クライアントおよびスタブ内で動的に獲得した領域は、不要になった時点で各データ型に応じた開放関数および方法により明示的な開放操作が基本的に必要です。開放漏れの場合、メモリリークの要因となります。

any型およびシーケンス型に関してデータ域も合わせて解放する場合は、専用関数により事前にリリースフラグを設定する必要があります。明示的に設定しない場合、デフォルトは解放しない設定となっているため、メモリリークの要因となります。リリースフラグの詳細については、各開発言語の“any型、sequence型のリリースフラグ”を参照してください。


以下のデータ型を使用する場合は、クライアントアプリケーションのinパラメタ/inoutパラメタ、サーバアプリケーションのoutパラメタ/inoutパラメタ、復帰値として、NULLポインタを設定できません。誤って設定した場合、メモリアクセスエラーを招く要因となります。

COBOLアプリケーションにおいて以下の型のデータ設定・取得操作は、必ず専用APIを使用してください。各APIの詳細については、“リファレンスマニュアル(API編)”の該当する記事を参照してください。

データ型

データ設定API

データ取得API

文字列型

CORBA-STRING-SET

CORBA-STRING-GET

ワイド文字列型

CORBA-WSTRING-SET

CORBA-WSTRING-GET

シーケンス型

CORBA-SEQUENCE-ELEMENT-SET

CORBA-SEQUENCE-ELEMENT-GET


参照