在ASP檔案中呼叫DLL的方法

怪我咯
發布: 2017-03-30 13:30:07
原創
1632 人瀏覽過

動態聯接函式庫(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在機器上存放的路徑



在ASP檔案使用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

%>



  以上程式碼在WINDOWS NT4.0 +SP3+IIS4.0+IE5.0+VB5.0上編譯運行通過,但還有不少的缺陷,但我的本意是向大家介紹如何在ASP中呼叫DLL,所以我沒有去完善它。


#

以上是在ASP檔案中呼叫DLL的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!