プログラムの翻訳・リンク
サンプル用に作成したワークスペースを指定して、NetCOBOL Studioを起動します。
参考
[依存]ビューを確認して、以下のプロジェクトがなければ、サンプルプログラムのプロジェクトをNetCOBOL Studioのワークスペースにインポートします。
Sample5(COBOLソリューションプロジェクト)
Sample05_EXE(COBOLプロジェクト)
Sample05_DLL(COBOLプロジェクト)
Sample05_LIB(COBOLリソースプロジェクト)
[依存]ビューからプロジェクトを選択し、以下の構成になっていることを確認します。
自動ビルドが設定されている場合、プロジェクトをワークスペースにインポートした直後にビルドが実行されます。この場合、[その他のファイル]には、ビルド後に生成されるファイル(.exeや.objなど)が表示されます。既定では自動ビルドに設定されています。
[ソリューションプロジェクトのビルド設定]
Sample05ソリューションプロジェクトの[ビルド]ページには、プロジェクトに共通なオプションを設定します。
共通オプションとして翻訳オプションLIBを設定します。
翻訳オプションの設定は、NetCOBOL Studioの[依存]ビューからSample05プロジェクトを選択し、コンテキストメニューから[プロパティ]を選択します。
→ [プロパティ]ダイアログボックスが表示されます。
左ペインから[ビルド]を選択すると、[ビルド]ページが表示されます。[翻訳オプション]タブを選択して、設定オプションの内容を確認します。
ここでは、翻訳オプションLIBにS_REC.cblの格納フォルダー(Sample05_LIBプロジェクトのフォルダー:"../Sample05_LIB")が指定されていることと、翻訳オプションSRF(FREE,FREE)が指定されていることを確認して、[OK]ボタンをクリックします。
[副プログラム/主プログラムのビルド設定]
上と同じ方法で、Sample05_DLLプロジェクトおよびSample05_EXEプロジェクトの[ビルド]ページを表示します。
[プロジェクト固有の設定を可能にする]がチェックされていないことを確認します。チェックされている場合、ソリューションプロジェクトのビルド設定が有効にならないため、チェックを外してください。
[主プログラムにおけるライブラリ参照]
主プログラム(Sample05.exe)はSample05_DLLプロジェクトが出力するライブラリファイル(INSATU.lib)をリンクします。
このリンクファイルは、[依存]ビューから、Sample05_EXEプロジェクトの[リンクファイル]に“INSATU.lib”が追加されていることを確認してください。追加されていない場合は、[リンクファイル]のコンテキストメニューから[ファイルの追加]を選択して、Sample05_DLLプロジェクト配下のINSATU.libを指定してください。
[ソリューションプロジェクトのビルド]
Sample05_EXEプロジェクトの[その他のファイル]にSample5.exeが作成されていない場合(自動ビルドが実行されていない場合)、Sample05プロジェクトを選択して、コンテキストメニューから[プロジェクトの再ビルド]を選択します。
→ ソリューションプロジェクト配下のすべてのプロジェクトのビルドが行われ、Sample5.exeが作成されます。
実行環境情報の設定
[実行環境設定]ツールを起動するには、COBOL85.CBRをダブルクリックします。
→ 実行用の初期化ファイルの内容が表示されます。
[共通]タブを選択し、以下の設定を確認します。
環境変数情報@MGPRM(実行時パラメタの指定)に、作業用ファイルのベース名(sample5)が指定されている(英数字8文字以内)こと。
ここで指定した名前に拡張子TMPを付加した名前のファイルが作業用ファイルとして作成されます。
ファイル識別名INFILEに、Sample02で作成したマスタファイル(MASTER)が指定されていること。
INFILE=..\..\Sample02\MASTER
相対パスでファイルを指定する場合、カレントフォルダーからの相対パスになります。
NetCOBOL Studioのメニューバーから[実行(R)] > [実行(S)] > [COBOLアプリケーション]を選択して実行する場合、カレントフォルダーはプロジェクトフォルダーです。
[適用]ボタンをクリックします。
→ 設定した内容が実行用の初期化ファイルに保存されます。
[ファイル]メニューの[終了]を選択し、実行環境設定ツールを終了します。
プログラムの実行
このサンプルプログラムは、動的リンク構造で実行可能ファイルを作成しています。副プログラムのダイナミックリンクライブラリ(以降はDLLといいます)はシステムのダイナミックリンカによってローディングされるため、実行可能ファイル(.exe)と同じフォルダーにDLLが存在しない場合、環境変数PATHにDLLの格納フォルダーを追加する必要があります。
NetCOBOL Studioで環境変数情報を設定する方法を説明します。
[依存]ビューからSample05プロジェクトを選択し、NetCOBOL Studioのメニューバーから[実行(R)] > [実行構成(N)]を選択します。
→ [実行構成]ダイアログボックスが表示されます。
左ペインから[COBOLアプリケーション]を選択し、[新規]ボタン()をクリックします。
→ 右ペインの[名前]に"Sample05"が表示され、実行時の構成情報が表示されます。
[プロジェクト名]は、[参照]ボタンをクリックして、表示されたプロジェクト一覧から"Sample05_EXE"を選択します。
→ [実行ファイル名]に実行可能ファイル名(.exe)が表示されます。
右ペインから[環境]タブを選択します。
ここでは、環境変数PathにINSATSU.dllの格納フォルダーを追加します。まず、[選択]ボタンをクリックします。
→ [環境変数の選択]ダイアログボックスが表示されます。
“Path”をチェックし、[OK]ボタンをクリックします。
→ [設定する環境変数]に“Path”が追加されます。
[ネイティブ環境への環境の追加]がチェックされていることを確認します。
注意
[ネイティブ環境を指定された環境と置換]をチェックして以降の手順を進めた場合、アプリケーションが正しく実行できません。必ず、[ネイティブ環境への環境の追加]をチェックしてください。
[設定する環境変数]タブから“Path”を選択し、[編集]ボタンをクリックします。
→ [環境変数の編集]ダイアログボックスが表示されます。
[値]にSample05_DLLプロジェクトの格納フォルダーを追加し、[OK]ボタンをクリックします。
[環境]タブの[適用]ボタンをクリックします。これで、実行時の環境設定は完了です。
[実行]ボタンをクリックします。
→ Sample5.exeが実行されます。
実行結果
“作業ファイル(Sample5.TMP)を作成します”というメッセージが表示されます。内容を確認したら、[OK]ボタンをクリックしてメッセージボックスを閉じてください。
プログラムの実行が終了すると、マスタファイルの内容が“通常使うプリンター”として設定されている印刷装置に出力されます。