NLS を使用するプログラムと使用しないプログラムの混合

制限事項: 各ロケール サポートは .NETマネージコードでは利用できません。

アプリケーション内のプログラムは、NLS 指令を設定しても設定しなくてもコンパイルできます。 NLS 指令を設定しないでコンパイルされたプログラムは、この指令を設定しないでコンパイルされたプログラムも、設定してコンパイルされたプログラムも CALL 文で呼び出せます。 その逆も同様に可能です。つまり、 NLS 指令を設定してコンパイルされたプログラムは、この指令を設定してコンパイルされたプログラムも、設定しないでコンパイルされたプログラムも CALL 文で呼び出せます。

NLS 指令を設定してコンパイルされたプログラムは、特定の言語やロケールに関連づけられません。 プログラムが使用するロケールはアプリケーションのロケールであり、アプリケーションで NLS を使用するプログラムが初めて呼び出される時に、NLS 機能とともに初期化されます。

NLS のライブラリ ルーチンは、NLS 指令を設定してコンパイルされた任意のプログラムから呼び出すことができます。

アプリケーション内の、NLS 指令を設定しないでコンパイルされたプログラムも、これらのルーチンを呼び出すことができます。ただし、NLS 指令を設定してコンパイルされたプログラムを呼び出すことによって、各国ロケール対応モジュールがロードされ、初期化された後でなければ呼び出せません。

NLS 機能を使用するプログラムから、使用しないプログラムへパラメーターを渡すことができます。 ただし、作成時の言語環境に依存するパラメーターは、使用時の言語環境に関係なく、その形式を保ちます。 このため、NLS 機能を使用しないプログラム中で、NLS 機能を使用するプログラムで作成されたパラメーターを使用すると、期待した結果にならないことがあります。 このようなパラメーターは、言語環境の異なるプログラムに渡さないようにしてください。