Hitachi

OpenTP1 Version 7 分散アプリケーションサーバ TP1/LiNK 使用の手引


付録A.4 アプリケーションプログラム作成時の注意事項

〈この項の構成〉

(1) TP1/LiNKのユーザアプリケーションプログラム(UAP)をシングルスレッド環境で実行

TP1/LiNKのUAPは,メインスレッド以外にスレッドを作成しないで,シングルスレッド環境で実行してください。メインスレッド以外のスレッドを作成して実行すると(マルチスレッド環境),UAPが誤動作して異常終了するおそれがあります。ただし,OpenTP1下のUAPはDLLを使用したマルチスレッド環境で動作するため,UAP作成時に指定するリンケージランタイムライブラリには,msvcrt.libを指定してください。

JNI(Java Native Interface)などのスレッドが生成されるコーディングはしないでください。この場合の動作は保証できません。

(2) UAPメッセージのイベントビューアへの出力

dc_logprint関数(COBOL言語の場合はCBLDCLOG('PRINT '))を使用したメッセージは,Windowsのイベントビューアに出力されます。なお,引数(COBOL言語の場合はデータ領域)に値を設定する場合,次の点に注意してください。

(3) dc_adm_call_command関数,システム運用の管理のCOBOL-UAP作成用プログラム(CBLDCADM)を使用する場合

(4) プロセス,スレッドを停止させる関数またはメソッドの呼び出し

TP1/LiNKのUAPでは,サービス関数(SPP)およびサービスメソッド(SPP.NET)内で,プロセスおよびスレッドを停止させる関数またはメソッドを呼び出さないでください。呼び出した場合,次に示す現象が発生することがあります。

(5) Visual Studioで作成したデバッグバージョンのオブジェクトファイル

Visual Studioで作成したデバッグバージョンのオブジェクトファイルは,Visual Studioがインストールされていない環境では動作させることができないおそれがあります。Visual Studioがインストールされていない環境でデバッグする場合,リンケージされたdllファイルおよびマニフェストファイルの内容を確認して,適切なマニフェストファイルを作成してください。マニフェストファイルの詳細については,Visual Studioのマニュアルのマニフェストについての記述を参照してください。

(6) スタブファイルをコンパイルする場合

stbmakeで作成されたC 言語のソースファイルをコンパイルする場合,必ずコンパイルオプション"/Zl"を指定してください。

(7) Visual StudioとHitachi COBOL2002を併用する場合

COBOL2002とVisual Studio併用時の注意事項については,COBOL2002のリリースノートの注意事項をご確認ください。

(8) WinSockのライブラリを使用する場合

WinSockのライブラリを使用する場合,TP1の通信処理ができなくなるため,次に示す関数を発行しないでください。