WWWサーバ上のプログラムをリモート実行するには、HTMLを作成する必要があります。
HTMLでは、次に示すような内容を記述します。
MeFt/Webコントロールの指定
アプリケーションの起動方法
WWWサーバの指定
リモート実行するアプリケーションの指定
リモート実行時の動作に関する指定
ページ移動時の動作に関する指定
ここでは、MeFt/Webのサンプルプログラムで提供されているHTMLをコピーし、必要な部分を修正します。
サンプルプログラムのHTMLは次に示す場所にある「denpyou1.htm」です。
C:\Program Files\NetCOBOL\Samples\MeFtWeb\Sample.web\
修正したHTMLを以下に示します。下線付き赤字の部分が修正した箇所です。
なお、このHTMLに「address.htm」というファイル名をつけ、「C:\NetCOBOL\workspace\ADDR」に格納することとします。
<HTML> <HEAD> <TITLE>住所録</TITLE> </HEAD> <BODY> <INPUT TYPE=BUTTON VALUE="GO!" NAME="GO"><BR> <OBJECT ID="MeFtWeb1" CLASSID="CLSID:61F12C43-5357-11D0-9EA0-00000E4A0F56" WIDTH="670" HEIGHT="470" CODEBASE="http://SampleSvr/MeFtWeb64/meftweb.cab#version=11,1,0,1"> </OBJECT> <SCRIPT LANGUAGE="VBScript"> Sub GO_onClick() MeFtWeb1.hostname = "SampleSvr" MeFtWeb1.pathname = "C:\ADDRESS\ADDR.EXE" MeFtWeb1.environment = "MEFTWEBDIR=http://SampleSvr/ADDRESS" MeFtWeb1.gatewaypathname = "MeFtWeb64" 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() end sub Sub Window_onUnload() MeFtWeb1.Quit() end sub </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/MeFtWeb64/meftweb.cab#version=11,1,0,1"> </OBJECT>
アプリケーションの起動方法
どのような操作によってアプリケーションを起動するのかを指定します。アプリケーションの起動には、MeFt/Webコントロールのsubmitメソッドを使用します。
本章で作成するHTMLでは、INPUTタグで指定されたボタンが押されたら起動するようにしています。
<INPUT TYPE=BUTTON VALUE="GO!" NAME="GO"> : <SCRIPT LANGUAGE="VBScript"> Sub GO_onClick() : MeFtWeb1.submit() end sub : </SCRIPT>
参考
HTMLの表示と同時にアプリケーションを起動するには、以下のように記述します。
<SCRIPT LANGUAGE="VBScript"> Sub Window_onload() : MeFtWeb1.submit() end sub : </SCRIPT>
WWWサーバの指定
アプリケーションが格納されているWWWサーバのホスト名を指定します。
WWWサーバのホスト名は、MeFt/Webコントロールのhostnameプロパティで指定します。WWWサーバ名を省略することはできません。なお、サーバとクライアントが異なるドメインに所属する場合は、hostnameプロパティで指定するホスト名をフルドメイン形式で指定します。
本章で作成したHTMLでは、以下の記述でWWWサーバを指定しています。
MeFtWeb1.hostname = "SampleSvr"
リモート実行するアプリケーションの指定
どのアプリケーションをリモート実行するのかを指定します。
リモート実行するアプリケーション名は、MeFt/Webコントロールのpathnameプロパティにサーバのローカルパスで指定します。アプリケーション名を省略することはできません。
また、アプリケーション実行時の環境変数は、MeFt/Webコントロールのenvironmentプロパティで指定することができます。
本章で作成したHTMLでは、以下の記述でアプリケーション名と環境変数を指定しています。
MeFtWeb1.pathname = "C:\ADDRESS\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.gatewaypathname = "MeFtWeb64" 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 LANGUAGE="VBScript"> : Sub Window_onUnload() MeFtWeb1.Quit() end sub : </SCRIPT>
作成したHTMLをWWWブラウザで表示すると、次のようになります。