你知道如何在ASP中調用DLL嗎?你是否也被這個問題所困擾過,那么我們今天就一起去學習ASP中調用DLL實例介紹,相信大家在看完后都有一定的收獲。
動態聯接庫(DLL)是加快應用程序關鍵部分的執行速度的重要方法,但有一點恐怕大部分人都不知道,那就是在ASP文件也能通過調用DLL來加快服務器的執行速度,下面我簡單的介紹一下在ASP文件調用DLL的步驟。?
首先,必須得有DLL文件,本例是通過VB5.0創建ActiveX?DLL文件,這個文件模擬了一個擲色子的過程。?
在VB5.0的環境下,新建一個工程,并雙擊新建工程窗口中ActiveX?DLL圖標,VB將自動為項目添加一個類模塊,并將該項目類型設置為ActiveX?DLL。在屬性窗口將類模塊的名稱屬性改為clsDice。從工程菜單中,選擇工程屬性,將工程名稱改為MyDLL。從文件菜單中,選擇保存clsDice,將類模塊保存為myDice.cls。添加以下代碼:?
Option?Explicit?
Private?Max,?Point?As?Integer?
Public?Property?Get?Result()?As?Integer?
Result?=?Point?
End?Property?
Public?Property?Get?Maxpoint()?As?Integer?
Maxpoint?=?Max?
End?Property?
Public?Property?Let?Maxpoint(num?As?Integer)?
Max?=?num?
End?Property?
Public?Sub?Throw()?
Randomize?
Point?=?Int(Rnd?*?Max)?+?1?
End?Sub?
Private?Sub?Class_Initialize()?
Max?=?6?
End?Sub?
這個類模塊定義了clsDice對象的兩個屬性和一個方法,這些屬性和方法模擬了擲色子的過程。其中Maxpoint屬性表示色子的面數,加入Property?Let語句將使客戶能修改色子的面數;Result屬性表示最后擲出色子的點數;Throw方法代表擲色子的動作;Private?Sub?Class_Initialize語句將色子的面數缺省的設置為6面。?
從文件菜單中,選擇生成MYDLL.DLL并將它保存到適當的地方。至此,我們就創建了一個自己的DLL文件。?
第二步要做的就是要在ASP文件中引用類clsDice。?
ASP(活動服務器頁面Active?Server?Pages)的所有代碼都是在服務器上運行的,客戶只能查看以HTML形式傳回的結果。它使用“<%”和“%>”標記來標識腳本代碼,并不傳回客戶端,在代碼外部,使用HTML標記來標識內容。在下面Dice.asp的代碼中使用了CreateObject函數創建了一個clsDice對象實例,該對象來自于上面創建的ActiveX.DLL--MYDLL.DLL文件,下面的例子使用了VBScript腳本語言。?
?
'裝載?METADATA?標簽中指定的類型庫。?Path是mydll.dll在機器上存放的路徑?
?
?
?
?
<%?
On?Error?Resume?Next?‘當程序出現意外錯誤時能繼續執行?
If?Request.Form("T1")=""?then?
Session("point")?=?6?
Else?
Session("point")=Request.Form("T1")?
End?If?
'用Session("point")來存放色子的面數?
Set?dice1=Server.Createobject("MyDLL.clsDice")?
'使用set語句創建dice1對象,其中MyDLL是上面創建dll文件時的工程名稱(注意:不是文件的名稱),clsDice為類模塊的名稱。至此我們就可以用Maxpoint,Result和Throw屬性(方法)來對dice1對象進行操作。?
If?Request.ServerVariables("Request_Method")="POST"?then?
dice1.Maxpoint?=?Session("point")?‘設定色子的面數?
dice1.Throw?'擲色子?
%>?
?
當色子的面數為>時
?
?
?
?
結果為:<%?=?dice1.Result?%>點?
?‘返回結果?
<%?
Else?
dice1.Maxpoint?=?Session("point")?
%>?
?
當色子的面數為>時
?
?
?
?
<%?
End?If?
%>?
?
在瀏覽器中瀏覽http://localhoat/dice.asp,結果如附圖。注意:只有在WINDOWS?NT+IIS3.0以上或WINDOWS9X+PWB的環境下才能正確瀏覽。?
?
以上代碼在WINDOWS?NT4.0+SP3+IIS4.0+IE5.0+VB5.0上編譯運行通過,但還有不少的缺陷,但我的本意是向大家介紹如何在ASP中調用DLL,所以我沒有去完善它。
本文分享了ASP中調用DLL實例介紹,我們可以通過VB5.0創建ActiveX?DLL文件模擬一個擲色子的過程,向大家介紹如何在ASP中調用DLL。
新聞熱點
疑難解答