国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

實例學習如何在ASP中調用DLL

2020-07-27 13:20:34
字體:
來源:轉載
供稿:網友
本文通過VB5.0創建ActiveX 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 TYPE="typelib" FILE="Path/mydll.dll" --> 
'裝載 METADATA 標簽中指定的類型庫。 Path是mydll.dll在機器上存放的路徑 
<html> 
<head><title>在ASP文件使用DLL</title></head> 
<body> 
<% 
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 '擲色子 
%> 
<form method="POST" action="dice.asp"> 
<p>當色子的面數為<input type="text" name="T1" size="5" value=<% = session("point") %>>時</p> 
<p><input type="submit" value="擲色子" name="B1"></p> 
</form> 
<p>結果為:<% = dice1.Result %>點 </p> ‘返回結果 
<% 
Else 
dice1.Maxpoint = Session("point") 
%> 
<form method="POST" action="dice.asp"> 
<p>當色子的面數為<input type="text" name="T1" size="5" value=<% = session("point") %>>時</p> 
<p><input type="submit" value="擲色子" name="B1"></p> 
</form> 
<% 
End If 
%> 
</body> 
  在瀏覽器中瀏覽http://localhoat/dice.asp,結果如附圖。注意:只有在WINDOWS NT+IIS3.0以上或WINDOWS9X+PWB的環境下才能正確瀏覽。 
   
  以上代碼在WINDOWS NT4.0+SP3+IIS4.0+IE5.0+VB5.0上編譯運行通過,但還有不少的缺陷,但我的本意是向大家介紹如何在ASP中調用DLL,所以我沒有去完善它。如果哪位高手有更好的方法或者不同的見解,請千萬mail我,我的信箱:jimi_chen@yeah.net
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沭阳县| 夏河县| 扶沟县| 阿克陶县| 武夷山市| 沙河市| 上杭县| 平遥县| 衡阳市| 临海市| 聂拉木县| 额济纳旗| 伊川县| 会理县| 宜章县| 蕉岭县| 田林县| 汤阴县| 运城市| 新密市| 巫山县| 江陵县| 新余市| 乐都县| 昌黎县| 青海省| 新建县| 安福县| 仙游县| 钟祥市| 花垣县| 伊吾县| 萨嘎县| 黑山县| 平和县| 旌德县| 永仁县| 定西市| 鄂尔多斯市| 咸宁市| 仁布县|