ASP Component 元件撰寫 來源:小恐龍

首先, 先說明 ASP 程式的運作方法, 再依次示範到 Component 元件撰寫方式, 當我們要求 IIS 讀取 ASP 檔時, 他首先會在檔案中找到 <% %> 所包標簽之間的程式碼, 並且編譯及執行程式碼, 而 Component 元件則是預先編譯成 DLL 檔, 並且登錄在系統中, 當我們呼叫他時, 即可直接執行不需要再經由編譯, 可以大大增進執行效率.

接下來我們使用 VB 來撰寫一個顯示 Hello Word 的元件, 並且將其轉成 Component 元件, 首先請建立一個 ActiveX 專案環境, 並且引入 ASP.DLL (Microsoft Active Server Pages Object Library) 支援, 再來就改改專案的描述設定, 專案名稱改為 Example, 類別名改為 Hello 好了.

首先必需在 OnStartPage 函數中宣告將使用 ASP 全部的方法和屬性, 如此我們的元件才能經由 ScriptingContext 物件, 取得網頁或 ASP 所傳遞給元件的參數.
Private MyForm As ScriptingContext
Public Sub OnStartPage(SC As ScriptingContext)
  Set MyForm = SC
End Sub
有了開始建立物件, 當然也要有個結束物件, 否則系統的資源可是會被一直佔有, 因此我們還需要在 OnEndPage 中宣告物件結束取消.
Public Sub OnEndPage()
  Set MyForm = Nothing
End Sub
初始化都設定好了, 接著將宣告一個 SayHello 方法, 用來顯示 Hello Word 的訊息.
Public Sub SayHello()
  MyForm.Response.Write ("Hello World")
End Sub
OK! 就是這麼簡單, 把他存檔並且編譯成 DLL 檔吧, 要使用該元件前我們必需先向系統登錄註冊, 這樣系統才知道東西在那裡, 登錄元件請使用 Regsvr32.exe 進行, 使用方法為:
Regsvr32.exe [路徑位址]登錄的檔檔
下面為範例的使用方法:
<HTML><HEAD><TITLE>示範</TITLE></HEAD><BODY>
<%
  Set Obj = Server.CreateObject("Example.Hello")
  Obj.SayHello
%>
</BODY></HTML>

輸出結果為 Hello Word

小恐龍工作坊 提供