WWWサーバ上のプログラムをリモート実行するには、HTMLを作成する必要があります。
HTMLでは、次に示すような内容を記述します。
MeFt/Webコントロールの指定
アプリケーションの起動方法
WWWサーバの指定
リモート実行するアプリケーションの指定
リモート実行時の動作に関する指定
ページ移動時の動作に関する指定
ここでは、MeFt/Webのサンプルプログラムで提供されているHTMLをコピーし、必要な部分を修正します。
サンプルプログラムのHTMLは次に示す場所にある「denpyou1js.htm」です。
C:\Program Files\NetCOBOL\Samples\MeFtWeb\Sample.web\
修正したHTMLを以下に示します。下線付き赤字の部分が修正した箇所です。
なお、このHTMLに「address.htm」というファイル名をつけ、「C:\NetCOBOL\workspace\ADDR」に格納することとします。
<HTML> <HEAD> <TITLE>住所録</TITLE> </HEAD> <BODY onBeforeUnload="" onunload="Window_onUnload()"> <INPUT TYPE=BUTTON VALUE="GO!" onclick="go_submit()"><BR> <OBJECT ID="MeFtWeb1" CLASSID="CLSID:61F12C43-5357-11D0-9EA0-00000E4A0F56" WIDTH="670" HEIGHT="470" CODEBASE="http://SampleSvr/MeFtWeb/meftweb.cab#version=11,0,0,3"> </OBJECT> <SCRIPT type="text/javascript"> function go_submit() { MeFtWeb1.hostname = "SampleSvr"; MeFtWeb1.pathname = "C:\\NetCOBOL\\workspace\\ADDR\\ADDR.EXE"; MeFtWeb1.environment = "MEFTWEBDIR=http://SampleSvr/ADDRESS"; MeFtWeb1.message = TRUE; MeFtWeb1.usedcgi = FALSE; MeFtWeb1.ssl = FALSE; MeFtWeb1.displaywindow = 0; MeFtWeb1.hyperlink = 0; MeFtWeb1.printmode = 0; MeFtWeb1.previewwindow = 0; MeFtWeb1.previewdrawpos = 0; MeFtWeb1.previewdc = 0; MeFtWeb1.previewrate = 0; MeFtWeb1.submit(); } window.onload = function(){ MeFtWeb1.Quit(); } </SCRIPT> </BODY> </HTML>
このHTMLを元に、記述する内容を説明します。
MeFt/Webコントロールの指定
MeFt/Webの画面を表示するため、MeFt/Webコントロールの指定を行います。
MeFt/Webコントロールの指定は、HTMLのOBJECTタグに記述します。CODEBASEで指定するMeFt/Webコントロールの格納先には、WWWサーバのホスト名を記述します。
本章で作成するHTMLでは、以下の記述でMeFt/Webコントロールを指定しています。
OBJECT ID="MeFtWeb1" CLASSID="CLSID:61F12C43-5357-11D0-9EA0-00000E4A0F56" WIDTH="670" HEIGHT="470" CODEBASE="http://SampleSvr/MeFtWeb/meftweb.cab#version=11,0,0,3"> </OBJECT>
アプリケーションの起動方法
どのような操作によってアプリケーションを起動するのかを指定します。アプリケーションの起動には、MeFt/Webコントロールのsubmitメソッドを使用します。
本章で作成するHTMLでは、INPUTタグで指定されたボタンが押されたら起動するようにしています。
<INPUT TYPE=BUTTON VALUE="GO!" onclick="go_submit()"><BR> : <SCRIPT type="text/javascript"> function go_submit() { : MeFtWeb1.submit(); } : </SCRIPT>
参考
HTMLの表示と同時にアプリケーションを起動するには、以下のように記述します。
<SCRIPT type="text/javascript"> function Window_onload(){ : MeFtWeb1.submit(); } : </SCRIPT>
WWWサーバの指定
アプリケーションが格納されているWWWサーバのホスト名を指定します。
WWWサーバのホスト名は、MeFt/Webコントロールのhostnameプロパティで指定します。WWWサーバ名を省略することはできません。なお、サーバとクライアントが異なるドメインに所属する場合は、hostnameプロパティで指定するホスト名をフルドメイン形式で指定します。
本章で作成したHTMLでは、以下の記述でWWWサーバを指定しています。
MeFtWeb1.hostname = "SampleSvr";
リモート実行するアプリケーションの指定
どのアプリケーションをリモート実行するのかを指定します。
リモート実行するアプリケーション名は、MeFt/Webコントロールのpathnameプロパティにサーバのローカルパスで指定します。アプリケーション名を省略することはできません。
また、アプリケーション実行時の環境変数は、MeFt/Webコントロールのenvironmentプロパティで指定することができます。
本章で作成したHTMLでは、以下の記述でアプリケーション名と環境変数を指定しています。
MeFtWeb1.pathname = "C:\\NetCOBOL\\workspace\\ADDR\\ADDR.EXE"; MeFtWeb1.environment = "MEFTWEBDIR=http://SampleSvr/ADDRESS";
参考
ここでは、環境変数としてMEFTWEBDIRを指定しています。環境変数MEFTWEBDIRは、“4.3.2 アプリケーション資産の配置と環境設定”を参照してください。
また、サーバ印刷用のプリンタ情報ファイルの格納フォルダーを指定する環境変数MEFTDIRは指定していません。その場合、サーバ印刷時の出力プリンターは、MeFt/Web動作環境の「サーバ印刷用の出力プリンタデバイス名」の設定に従います。
リモート実行時の動作に関する指定
画面の表示形式や印刷先の指定など、リモート実行時の動作に関する指定は、MeFt/Webコントロールの各プロパティで指定します。
本章で作成したHTMLでは、以下の記述でリモート実行時の動作に関する指定を行っています。MeFt/Webコントロールの各プロパティの説明は、“MeFt/Webユーザーズガイド”の“プロパティ”を参照してください。
MeFtWeb1.message = TRUE; MeFtWeb1.usedcgi = FALSE; MeFtWeb1.ssl = FALSE; MeFtWeb1.displaywindow = 0; MeFtWeb1.hyperlink = 0; MeFtWeb1.printmode = 0; MeFtWeb1.previewwindow = 0; MeFtWeb1.previewdrawpos = 0; MeFtWeb1.previewdc = 0; MeFtWeb1.previewrate = 0;
ページ移動時の動作に関する指定
リモート実行中にページが移動された場合の動作は、ページ移動時に発生するWindow_onUnloadイベントの処理として指定します。リモート実行中にページが移動された場合、そのことをアプリケーションに通知するため、MeFt/WebコントロールのQuitメソッドを記述します。
本章で作成したHTMLでは、以下の記述でページ移動時の動作に関する指定を行っています。詳細は、“4.7 通信が切断されるパターンについて”を参照してください。
<SCRIPT type="text/javascript"> : function Window_onUnload() { MeFtWeb1.Quit(); } : </SCRIPT>
作成したHTMLをWWWブラウザで表示すると、次のようになります。