ASP は dll を呼び出し、dll インスタンスをカプセル化します。dll にカプセル化すると、実行効率が向上し、コードが暗号化されます。 VB6 を開き、新しい ActiveX DLL を作成します。
2. Microsoft Active Server Pages Object Library の選択をプロジェクト参照に追加します。
3. 次のようにコードを入力します。
次のようにコードをコピーします。
'コードの開始
'宣言部分
ScriptingContext としてのプライベート MyScriptingContext
アプリケーションとしてのプライベート MyApplication
リクエストとしてのプライベート MyRequest
応答としてのプライベート MyResponse
サーバーとしてのプライベート MyServer
セッションとしてのプライベート MySession
' 以下は共通関数を定義します (VB で ASP オブジェクトにアクセスするため、つまり VB では、ASP の Application と同等の MyApplication、ASP の Request と同等の MyRequest、ASP の Response と同等の MyResponse を使用できます)。 MyServer は ASP の Server に相当し、MySession は ASP の Session の使用法に相当します)
Public Sub OnStartPage(ScriptingContext として渡された ScriptingContext)
MyScriptingContext = PassedScriptingContext を設定します
MyApplication = MyScriptingContext.Application を設定します。
MyRequest = MyScriptingContext.Request を設定します。
MyResponse = MyScriptingContext.Response を設定します。
MyServer = MyScriptingContext.Server を設定します
MySession = MyScriptingContext.Session を設定します
エンドサブ
Public Sub OnEndPage()
MyScriptingContext = なしを設定します
MyApplication = なしを設定します
MyRequest = なしを設定します
MyResponse = なしを設定します
MyServer = 何も設定しない
MySession = なしを設定します
エンドサブ
'カスタム関数SayHelloを作成する
パブリックサブSayHello()
MyResponse.Write(Hello World)
エンドサブ
'コードエンド
4. クラス名を HelloWorld に変更し、プロジェクト名を TestVBCode に変更します。
5. TestVBCode.DLL ファイルを生成し、Windows の登録コンポーネント コマンド Regsvr32 path/TestVBCode.DLL を実行して、使用できるように登録します。 (コンポーネントをアンインストールするコマンドは Regsvr32 /u path/TestVBCode.DLL です)
6. Test.asp ファイルを作成します。コードは次のとおりです。
次のようにコードをコピーします。
<%
'VB自作関数呼び出し形式
'オブジェクト名=Server.CreateObject(プロジェクト名.クラス名)を設定
'オブジェクト名.自作関数名
MyTestObj = Server.CreateObject(TestVBCode.HelloWorld) を設定します。
MyTestObj.SayHello
%>
7. Test.asp ファイルの実行結果は次のとおりです。
こんにちは世界
================================================= =========
より複雑なアプリケーションの場合は、この例を通じて外側に拡張できます。
のように:
次のようにコードをコピーします。
パブリックサブconnstr2()
conn = MyServer.CreateObject(ADODB.Connection) を設定します。
conn.Open driver={Microsoft Access Driver (*.mdb)};dbq= & MyServer.MapPath(codata.mdb)
Set rs = conn.Execute(ニュースから * を選択)
rs.EOF を実行しないでください
MyResponse.Write (rs(news_title) & <br>)
rs.次へ移動
ループ
rs.閉じる
conn = なしを設定します
エンドサブ
もちろん、これはデータベース接続コードでカプセル化されます。ADO 参照をここに追加する必要があります。