3.3 プログラム作成時のWindows版OpenTP1固有の注意事項
(1) スタブの作成時の注意事項
stbmakeコマンドで指定するスタブソースファイル名には,RPCインタフェース定義ファイルを示すサフィックス".def"を必ず付与してください。
また,RPCインタフェース定義ファイルの文字コードは,シフトJISで記述してください。
(2) シングルスレッド環境でのUAP実行時の注意事項
OpenTP1のUAPは,メインスレッド以外にスレッドを作成しないで,シングルスレッド環境で実行してください。メインスレッド以外のスレッドを作成して実行すると(マルチスレッド環境),UAPが誤動作して異常終了するおそれがあります。ただし,OpenTP1下のUAPは,DLLを使用したマルチスレッド環境で動作するため,UAP作成時に指定するリンケージランタイムライブラリには,msvcrt.libを指定してください。
なお,JNI(Java Native Interface)などのスレッドが生成されるコーディングをした場合,動作は保証できません。
(3) UAPの終了時の注意事項
サービス関数(SPP)およびサービスメソッド(SPP.NET)内で,プロセスおよびスレッドを停止させる関数またはメソッドを発行しないでください。発行した場合,次のことが発生するおそれがあります。
- サービス関数(SPP)およびサービスメソッド(SPP.NET)が予期しない動作をする。
- サービスグループに対するサービス要求が失敗する。
- UAPを終了できなくなる。
- OpenTP1が正常終了できなくなる。
(4) Visual Studio使用時の注意事項
- ユーザサーバにVisual Studioで作成したライブラリを使用する場合,ライブラリには必ずマニフェストファイルを埋め込んでください。マニフェストファイルを埋め込まない場合,ユーザサーバが終了状態0xC0000135でダウンするおそれがあります。
- Visual Studioのデバッグバージョンで作成したオブジェクトファイルは,Visual Studioがインストールされていない環境では動作できないおそれがあります。Visual Studioがインストールされていない環境でデバッグする場合,リンケージされたDLLファイルおよびマニフェストファイルの内容を確認し,適切なマニフェストファイルを作成してください。マニフェストファイルの詳細については,Visual Studioのマニュアルのマニフェストファイルに関する記述を参照してください。
(5) Visual StudioとCOBOL言語を使用する環境が共存する場合の注意事項
Visual StudioとCOBOL言語を使用する環境が共存する場合に各言語をコンパイルするときは,コンパイルする各言語の環境変数がほかの言語より先に設定されていることを確認してください。ほかの言語の環境変数が先に設定されていると,意図しないリンケージが行われることがあります。
(6) Net Express使用時の注意事項
- OpenTP1のCOBOL-UAP作成用プログラムの引数のうち,数値データは,COMPでなくCOMP-5で宣言してください。
- UAPを実行する時は,OpenTP1のコンソールのバッファサイズ,およびウィンドウサイズの高さに大きな値を設定しないでください。大きな値を設定するとコンソールの表示に不具合が生じ,UAPが正常に動作しないことがあります。
- Net Expressで作成したUAPを動作させる場合,OpenTP1のコンソールのタイトル文字が変更されることがあります。
- Net Expressで作成したUAPで,COBOL-UAP作成用プログラムのDISPLAY文を使用してOpenTP1のコンソールにメッセージを出力する場合,UAPの実行中にシステムをログオフすると,UAPが閉塞することがあります。メッセージを出力する場合は,OpenTP1が提供するCBLDCLOG('PRINT ')を使用してください。