28.4.2 実行
-UniObjGenオプションを指定してコンパイルしたプログラムを正しく実行するには,実行時環境変数CBLLANGにUNICODEを指定してください。実行時環境変数CBLLANGについては,「36.2.3 一般」を参照してください。
ここでは,実行時での規則について説明します。
- 〈この項の構成〉
(1) 実行時環境変数CBLLANGとCBLUNIENDIANの関係
実行時環境変数CBLLANGの設定形式を次に示します。
- 形式
CBLLANG=UNICODE
実行時環境変数CBLUNIENDIANの設定形式を次に示します。
- 形式
CBLUNIENDIAN={LITTLE|BIG}
実行時環境変数CBLLANGとCBLUNIENDIANの関係を,次に示します。
環境変数CBLLANG指定 |
環境変数CBLUNIENDIAN指定 |
||||
---|---|---|---|---|---|
LITTLE |
BIG |
指定なし (デフォルト) |
|||
指定あり |
UNICODE指定あり |
用途がNATIONALの項目 |
UTF-16LEを仮定 |
UTF-16BEを仮定 |
UTF-16LEを仮定 |
用途がDISPLAYの項目 |
UTF-8を仮定(環境変数CBLUNIENDIANの影響はない) 無変換 |
||||
指定なし |
(2) -UniObjGenオプションと実行時環境変数CBLLANGの関係
-UniObjGenオプションと実行時環境変数CBLLANGの関係を,次に示します。
-UniObjGenオプション指定 |
環境変数CBLLANG指定 |
|
---|---|---|
UNICODE |
指定なし(デフォルト) |
|
指定あり |
○※ |
× |
指定なし |
× |
○ |
(3) -UniEndianオプションと実行時環境変数CBLUNIENDIANの関係
-UniEndianオプションの指定(Little/Big)と,実行時環境変数CBLUNIENDIANの指定(LITTLE/BIG)の組み合わせが異なる場合,動作は保証しません。-UniEndianオプションと実行時環境変数CBLUNIENDIANの関係を次に示します。
-UniEndianオプションの指定 |
環境変数CBLUNIENDIANの指定 |
||
---|---|---|---|
LITTLE |
BIG |
指定なし(デフォルト) |
|
-UniEndian,Little |
○ |
× |
○ |
-UniEndian,Big |
× |
○ |
× |
指定なし |
○ |
× |
○ |
(4) コード変換失敗時の動作
コード変換ライブラリの前提条件を満たしていない環境で,実行時環境変数CBLLANGにUNICODEを指定して実行した場合,コード変換失敗となります。コード変換失敗時の動作を次に示します。
機能 |
コード変換失敗時の動作 |
---|---|
CSV編成ファイルの入出力 |
実行時エラーとなる。 |
MSMQアクセス機能 |
戻り値として-2を返し,詳細コードにデータ変換失敗を示すコードを設定する。詳細については,「27.3 MSMQアクセスサービスルーチンのインタフェース」の「表27‒3 詳細コードの内容」を参照のこと。 |
OLE2オートメーションクライアント機能 |
実行時エラーとなり,詳細情報にコード変換失敗を示すコードを設定する。 |
CBLNCNVサービスルーチン |
戻り値として-2または-3を返す。詳細については,「30.7.1 CBLNCNV」を参照のこと。 |
DISPLAY-OF関数/NATIONAL-OF関数 |
実行時エラーとなる。 |