在ASP檔案中呼叫DLL

2021-04-23 09:27:33 字數 2160 閱讀 6732

動態聯接庫(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

%>

在ASP檔案中呼叫DLL

動態聯接庫 dll 是加快應用程式關鍵部分的執行速度的重要方法,但有一點恐怕大部分人都不知道,那就是在asp檔案也能通過呼叫dll來加快伺服器的執行速度,下面我簡單的介紹一下在asp檔案呼叫dll的步驟。首先,必須得有dll檔案,本例是通過vb5.0建立activex dll檔案,這個檔案模擬了乙個...

在ASP檔案呼叫DLL

動態聯接庫 dll 是加快應用程式關鍵部分的執行速度的重要方法,但有一點恐怕大部分人都不知道,那就是在asp檔案也能通過呼叫dll來加快伺服器的執行速度,下面我簡單的介紹一下在asp檔案呼叫dll的步驟。首先,必須得有dll檔案,本例是通過vb5.0建立activex dll檔案,這個檔案模擬了乙個...

在lua中呼叫DLL

整整的花了乙個下午的時候,才在lua中呼叫了動態鏈結庫。比起其他指令碼語言,lua的呼叫方式算是比較繁瑣的,但是lua的程式設計思想非常的統一,即lua和c之間的傳值都是通過棧進行的,目前為止我還沒有深入的去了解這個 棧 但是這並不妨礙去使用 棧 當我們在乙個空的工程中寫下幾個c c 的函式,然後把...