変更内容
特殊クラスのメソッド呼出し時にパラメタにNULLオブジェクトが指定された場合の扱いを、変更しました。
PowerCOBOL97 V6.0L10以前は、省略パラメタとみなします。
PowerCOBOL97 V6.1L10以降は、NULLオブジェクトを渡します。
対処方法
省略パラメタとしてNULLオブジェクトを使用している場合、以下のいずれかの対処が必要です。
省略パラメタにNULLオブジェクトではなくOMITTED を指定するよう、プログラムを修正する。
実行環境変数@CBR_COM_NULL=OMITTED を指定する。
この実行環境設定を行うと、V6.1L10以降で作成したプログラムもNULLオブジェクトを省略パラメタとみなすため、注意してください。
また、特殊クラスのメソッド呼び出し時にパラメタにOMITTED が指定された場合の扱いが以下のとおり異なります。
COM サーバにVT_EMPTY型のデータを渡します。
COM サーバにVT_ERROR型のデータとして、エラーコード"DIEP_E_PARAMNOTFOUND"を渡します。
古いCOM サーバのメソッドの中には、VT_ERROR型のデータを省略パラメタと見なさないものがあり、動作時にパラメタエラーが発生する場合があります。
その場合は、以下の実行環境変数を指定してください。
@CBR_COM_OMITTED = EMPTY
この実行環境変数設定を行うと、PowerCOBOL97 V6.1L20以降で作成したプログラムも、パラメタにOMITTED が指定された場合、COM サーバにVT_EMPTY型データを渡します。ご注意ください。