第 5 章 リモート実行機能を利用する
5.7 プロセス型プログラムから
106
5.7.2 翻訳、リンク方法について
既存のプロセス型プログラムをスレッド型プログラムに移行するには、再翻訳 および再リンクが必要です。
• 翻訳
スレッド型プログラムの翻訳では、プロセス型プログラムと異なり、翻 訳オプションTHREAD(MULTI) を指定してください。
プロセス型プログラムの主プログラムには翻訳オプションMAIN を指 定しなければなりませんが、スレッド型プログラムに移行する際には、
DLL を作成するため、翻訳オプションMAIN を指定しないでください。
以下に翻訳コマンドを使用して翻訳するときの例を示します。
• リンク
スレッド型プログラムは、オブジェクトをリンクしてDLL を作成しな ければなりません。
以下にリンクコマンドを使用してリンクするときの例を示します。
リンク時にはF3BICBDM.obj をリンクし、/ENTRY:COBDMAIN を指定 してください。
5.7.3 実行
• 実行用初期化ファイルの設定
スレッド型プログラムでは、実行用の初期化ファイルの内容は、共通部 だけで構成されます。セクションに記述された情報は無視されます。こ のため、既存のプロセス型プログラムをスレッド型プログラムに移行す る場合は、セクションに記述された情報を共通部に指定してください。
以下にファイル識別名を環境変数情報名として、ウィンドウ情報ファイ ル名およびプリンタ情報ファイルを設定する例を示します。
COBOL32 -WC,"THREAD(MULTI)" COB.cob
LINK /DLL COB.obj F3BICBDM.obj F3BICIMP.lib KERNEL32.LIB /ENTRY:COBDMAIN /OUT:COB.dll
翻訳オプション、リンク方法の詳細については、「NetCOBOL 使用手引書」を参照してください。
実行用の初期化ファイルの設定については、「NetCOBOL 使 用手引書」を参照してください。
[A]
DSPFILEA=MEFWRCA PRTFILEA=MEFPRCA [B]
DSPFILEB=MEFWRCB PRTFILEB=MEFPRCB
例)COBOL85.CBR COBOL85.CBR DSPFILEA=MEFWRCA PRTFILEA=MEFPRCA DSPFILEB=MEFWRCB PRTFILEB=MEFPRCB
また、プログラムを起動したあとに、実行用の初期化ファイルの内容を 変更した場合は、MeFt/Web サービスプログラム(MeFt/Web Service)を 再起動してください。サービスプログラムを再起動するには、コント ロールパネルの[管理ツール]の中にある[サービス]アイコンを使っ て停止してから開始します。
サービスプログラムを再起動しないと、変更した実行用の初期化ファイ ルの内容は有効になりません。
• 環境変数の設定
スレッド型プログラムでは、MEFTWEBDIR などの環境変数を
environment プロパティやバッチコマンドに指定できません。そのため、
環境変数は、実行用の初期化ファイル(COBOL85.cbr)またはシステム の環境変数に指定してください。なお、システムの環境変数に設定した 場合は、設定後、システムを再起動してください。
COBOL85.cbr とシステム環境変数の両方に同一の環境変数が設定され
ている場合は、COBOL85.cbr の方が有効になります。
• その他の注意事項
- スレッド型プログラムを起動したあとに、スレッド型プログラム を入れ替えるために、MeFt/Web サービスプログラム(MeFt/Web Service)を再起動してください。
- COBOL 診断機能の診断レポートファイルは、MeFt/Web のインス トールディレクトリに出力されます。ファイル名は、アプリケー ションの名前を「アプリケーション名_ エラー発生時間」に変更 し、拡張子を「LOG」に置き換えた名前になります。
サービスの起動/停止は、コントロールパネルからの操作 以外に、以下のコマンドでコマンドプロンプトやバッチ ファイルから実行することが可能です。
停止 > net stop MeFtWebService 起動 > net start MeFtWebService
108