- Login
帳號:
密碼:
ASP MENU
線上教學
   ASP 教學
VB.NET 教學
JSP 教學
JAVA 教學
完整 ASP 教學
程式下載
   ASP 程式下載
提供 ASP 程式
程式量身訂做
   收費標準
填寫需求表
討論交流專區
   程式討論區
電腦資訊交流
工作機會
   社會人就職情報
汎亞人力銀行
大台中人力銀行
大高雄人力銀行
相關連結
   ASP 虛擬空間
ASP 相關網站
聯絡我們
   意見信箱
加入會員程式討論區線上購物回首頁
ASP 教學
在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



頂端
本網頁最佳瀏覽模式為:瀏覽器 IE4.0 以上    解析度: 800 x 600
Copyright © 2000-2020 COOLASP All Rights Reserved