VB6 の新しい WebClass テクノロジを使用すると、柔軟で強力なインターネット ベースのアプリケーションを簡単に作成できます。ユーザーがページにアクセスしてソフトウェア製品を登録できるようにする登録アプリケーションの作成方法を説明しました。 「ユーザー登録クラス」、VBPJ 1998 年 4 月および「サーバーへの電子メール登録の追加」、VBPJ 1998 年 5 月]。登録後、アプリケーションは電子メール番号を介してユーザーにシーケンスを送信し、Web への接続が確立されます。先ほど紹介した VB5 アプリケーションは、Web サーバー上で実行される ActiveX DLL と、ユーザーのステータスを判断して、対応する ASP スクリプト (Active Server Page) を呼び出す DLL を作成しました。新しいテクノロジである WebClass を使用して、このタイプのアプリケーションを作成するための新しい手段です。
つまり、WebClass は Web サーバー DLL 上で実行される ActiveX であり、クライアントのブラウザ上の HTML ページのハイパーリンクによってサーバー DLL 内のイベントをアクティブにすることができます。 WebClass のプログラミング モードは従来の VB モードに似ています。違いは、VB ではフォームにコントロールが含まれるのに対し、WebClass アプリケーションのプログラムは、サーバー側ではコントロールを含む Web ページであるということです。このコラムでは、単純な WebClass アプリケーションを作成する方法を説明し、これがいかに簡単であるかを示します。VB6
を起動して、 [新しいプロジェクト] ダイアログ ボックスで、プロジェクトに SimpleReg という名前を付けます ([プロパティ] ウィンドウから [プロパティ] ウィンドウと [プロジェクト ブラウザ] が表示されます)。これは、ActiveX DLL のコンパイル時に作成されます。次に、プロジェクトを保存します。
WebClass アプリケーションは、HTML テンプレートを使用してユーザーのブラウザに HTML を表示します。VB6 には HTML エディターが含まれていないため、VB6 の外部で HTML テンプレートを作成する必要があります (VB6 の DHTML デザイナーは WebClass とはまったく関係ありません)。任意の HTML エディターを使用できますが、Visual Studio には Visual InterDev (VID) 6.0 が含まれているため、
VB6 の [ツール] | [オプション] メニューで Visual Studio を Visual Basic のデフォルトの HTML エディターとして設定するのが適切です。 Visual InterDev パス - C:Promram FilesMicrosoft Visual StudioCommonIDE|IDE98Devenv.exe を外部 HTML 編集ボックスに追加します。プロジェクトのテンプレート ファイルを作成するように Visual InterDev に通知します。例: テンプレートの場合。が WebPage.htm という名前の場合、InterDev は Web1Page.htm という名前のコピーを作成します。メモ帳または他のエディタを使用してテンプレートを作成する場合は、
ルーチン コードでは、SimpleReg.htm ファイルが Visual によって作成されたテンプレートであること
を考慮してください。InterDev。WebClass デザイナーの左側のペインで、HTML テンプレート WebItem フォルダーを選択します。次のようにプロジェクトに SimpleReg テンプレートを追加できます。[HTML テンプレート WebItem の追加] ボタンをクリックし、ファイル選択ダイアログで SimpleReg.htm ファイルを選択します。ボックス (図 1 を参照)。新しい WebItem に tplSimple という名前を付けます。「tplSimple」をダブルクリックして、WebClass_Start プロセスを見つけて、WebClass の読み込み時にテンプレートを表示する次のコードに置き換えます
。 )
'メインの HTML テンプレートwww.downcodes.com を表示します
Session("タイトル") = "あなたの情報を入力してください" & "登録情報"
tplSimple.WriteTemplate
End Sub
WebClass_Start プロセスは、従来の VB アプリケーションの Form_Load プロセスに似ています。プログラムを実行し、ブラウザーに表示される HTML ページを確認して、VB アプリケーションを終了します (これは、デバッグおよび開発中の通常のシャットダウンです。 WebClass メソッド)
で、tplSimple WebItem を右クリックし、コンテキスト メニューから [HTML テンプレートの編集] を選択します。ソース コードを読むと、これが単純であることがわかります。次の形式のタグと呼ばれる 3 つの特別な部分で構成されるページ:
< WC@TAGTITLE>タイトル</WC@TAGTITLE >
これらのタグのテキスト部分 (「タイトル」) は実行時に変更されます WebClass に追加されたコードは置き換えられますWriteTemplate メソッドが実行されると、HTML テンプレート内で見つかったタグごとに ProcessTag という特殊なプロシージャが呼び出されます。VB に戻り、コード ウィンドウで tpSimple_ProcessTag プロセスを表示します。上のコンボボックスに次のコードを追加します:
Dim sHTM As String
ケースのタグ名を選択してください
ケース「 WC@TAGTITLE 」
TagContents =Session("タイトル")
ケース「 WC@TAGMAIL 」
sHTM = "電子メール アドレスを入力してください:<br>"
sHTM = sHTM & "<入力タイプ= 'テキスト'"
sHTM = sHTM & " name= 'メール'><br>"
タグの内容 = sHTM
ケース「 WC@TAGNAME 」
sHTM = "名前:<br>"
sHTM = sHTM & "<入力タイプ= 'テキスト'"
sHTM = sHTM & " name= '名前'><br>"
タグの内容 = sHTM
End Select は、
タグを置き換えるための TagContent パラメータの HTML コードを返します。WriteTemple を WebClass_Start プロシージャに追加し、ブレークポイントで F8 を使用してプロジェクトを実行し、イベントの順序を確認します。 ProcessTag プロシージャが 3 回 (テンプレート内のタグごとに 1 回) 呼び出されていることがわかります。非常に優れているのは、このプロシージャは実行時に、ブラウザ内にテキスト ボックスを生成する HTML を使用することです。名前タグ。
サーバー側のイベント コードを対話的にデバッグできることは、VB を使用した WebClass アプリケーション開発の非常に強力な機能の 1 つです。VB5 の Web 開発では、VBScript をデバッグすることはできません。
ASP スクリプトで対話的に実行する
- 残念ながら、実行可能な唯一の方法はエラーを発生させて再試行することです。ただし、VB6 では、すべてのサーバー側コードが WebClass で実行され、対話型デバッグに VB の優れた設計環境を使用できます。
この単純なアプリケーションの次のステップです。フォーム上の [Register Me] ボタンのイベント処理コードを追加することです。VB の WebClass デザイナーに戻り、右側のペインに HTML メンバーのリストが表示され、イベントをそれらに関連付けることができます。 Form1 タグを右クリックして、[カスタム イベントに接続] メニュー項目を選択し、[ターゲット] 列の Form1 イベント名の横にある HTML テンプレートを確認します (tplSimple を右クリックして、[HTML テンプレートの編集] を選択します)。フォームのメンバーは次のようになります。
<FORM method = 'post' action = SimpleReg.ASP?
&WCE=RegisterMe&WCU>
SimpleReg.asp は、特殊な ActiveXDLL 起動スクリプトです。疑問符の後の値は、WebClass Items (WCI) が tplSimple、WebClass Event (WCE) が RegisterMe、WebClass URLData (WCU) が空であることを示します。ユーザーがブラウザで [Register Me] ボタンをクリックすると、この行によって ActiveX サーバー DLL の tplSimple_RegisterMe ボタンがアクティブになります。このように、フォームのアクティビティはサーバー側のイベントに関連付けられますが、ハイパーリンクを設定できます。 WebClass は、Web アプリケーション開発にとって魔法のように機能します。VB のイベント駆動型プログラミングをブラウザベースのアプリケーションに拡張します。VB
デザイナーの左側のペインで RegisterMe イベントをダブルクリックして、コードを表示します。次のコードをイベントに追加します。
If Len(Request.Form("Email")) = 0 then
Session("Titile") = "お願い" & "メールアドレスを入力してください!"
Session("メール") = ""
セッション("名前") = ""
それ以外
Session("タイトル") = "これが" & "あなたのエントリーです!"
Session("メール") = Request.Form("メール")
Session("名前") = Reuquest.Form("名前")
終了の場合
TplSimple.WriteTemplate
Request.Form は、ブラウザ ページからデータを返す標準的な方法で、いくつかのセッション変数を設定し、If ステートメントにブレークポイントを設定し、プロジェクトを実行します。 [Register Me] ボタンをクリックすると、タイトルが更新されていますが、テキスト ボックスが空になっています。これは、プロジェクトを終了して tplSimple_ProcessTag を変更したためです。
プロセス (DevX からリスト 1 をダウンロードします。詳細については、「
無料コードのダウンロード」ボックスを参照してください)。プロジェクトを実行して、
データ アクセスに ADO を使用して
何が起こるかを確認します。データベースから合計を保存する方法 簡単にするために、ソース ディレクトリに Microsoft Acess 97 を使用して、Register.mdb という名前を付けます。 、それぞれ [電子メール] と [名前] を入力し、一意のインデックス フィールドを作成するように求められたら [OK] を選択し、
プロジェクトの
C ドライブのルート ディレクトリに Register.mdb のコピーを配置します。データ オブジェクト ライブラリの参照は、[プロジェクト]、[参照] の下にあります。ADO ライブラリのバージョン 1.5 または 2.0 を使用できます。ADO ライブラリがインストールされていない場合は、Microsoft のサイト http:/ からダウンロードできます。 /www.microsoft.com/data /ado から MDAC2.0 インストール ツールキットをダウンロードします。tplSimple.RegisterMe プロセスのコードを変更します (DevX からリスト 2 をダウンロードします。詳細については、「無料コードのダウンロード」ボックスを参照してください)
。フォーム内でセッション変数に入力し、ADO レコードセットを開き、電子メール アドレスを探します (DevX からリスト 3 をダウンロードします)。
見つからない場合は、コードがそのレコードを返します。関数は接続文字列を設定します:
private Function Connect() As String
'ADO 接続文字列を返します
Const kDB = "DBQ=c:register.mdb;"
Const kDrv = "ドライブ={Microsoft" & "アクセスドライバー (*.mdb)}"
接続 = kDB & kDrv
関数の終了
tplSimple_RegisterMe にブレークポイントを設定し、プログラムを実行して、データ アクセス コードがどのように動作するかを確認します。この簡単な例は、ADO でのプログラミングがいかに簡単であるかを示しています。「実際の」アプリケーションにはエラー処理が含まれている必要があります。一般に、接続文字列情報などの変数を保存するためにも登録を使用します。また、
プロジェクトをコンパイルするときに、レコードを更新する方法と不要なレコードを削除する方法を提供する必要があります。最初のことは次のとおりです。 VB の ActiveX プロジェクトでは、ActiveX DLL レコードが開発マシン上に生成されます。2 番目のことは、NameInURL 属性で指定された名前で指定された特別な ASP 起動ファイルが生成されることです。ファイルの内容は SimpleReg.asp です。ユーザーがブラウザにファイルの URL を入力すると、IIS によって SimpleReg.wcSimple WebClass のインスタンスが作成されます。この ASP スクリプトは変更しないことをお勧めします。どのような状況であっても、
ユーザーの観点から見ると、アプリケーションの WebClass バージョンの登録は、1998 年 5 月に示されたシリーズと似ています。このシリーズのコードは、すべてのコードがWebClass の場合、起動された ASP ファイルにはユーザー情報が含まれません。
注意
アプリケーションの前後を比較すると、WebClass の動作を一貫して理解できるはずです。ただし、Web アプリケーションをすぐに WebClass に変換することに抵抗があるかもしれません。アプリケーションの変換にはかなりの時間がかかりますが、これには実際の利点があるため、これを実行する必要があります。つまり、WebClass を使用すると、以前は不可能だった方法でアプリケーションを作成または拡張できます
。インターネット アプリケーションを開発するためのツールのセット もちろん、VB5 を使用して Web アプリケーションを開発することも可能ですが、制限なしで ASP スクリプトを VB DLL と正しくやり取りするには、多くの小さなプログラミング トリックを使用する必要があります。 VBScript を使用することで、真のイベント駆動型プログラミング環境が不足することはなく、VB は Web 開発に完全な機能をもたらします。これは良いことです。