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

首頁 > 編程 > ASP > 正文

通過VB6將ASP編譯封裝成DLL組件最簡(jiǎn)教程 附全部工程源文件

2024-05-04 11:09:33
字體:
供稿:網(wǎng)友
因?yàn)榻趩柕木W(wǎng)友比較多,就簡(jiǎn)單整理出來一個(gè),有問題可以通過評(píng)論

1、新建DLL
打開VB6-->文件-->新建工程-->選擇ActiveX DLL-->確定

通過VB6將ASP編譯封裝成DLL組件最簡(jiǎn)教程 附全部工程源文件



2、將默認(rèn)工程、類重命名
工程重命名:工程-->工程1 屬性(此名稱對(duì)應(yīng)窗體內(nèi)工程項(xiàng)目名稱)-->在打開對(duì)話框中將“工程名稱”重命名為ASP2DLL(當(dāng)DLL組件在系統(tǒng)中注冊(cè)后,在asp中默認(rèn)的調(diào)用方法是“工程名.類名”)-->確定

通過VB6將ASP編譯封裝成DLL組件最簡(jiǎn)教程 附全部工程源文件



類重命名在屬性窗口中將名稱重命名為Demo

通過VB6將ASP編譯封裝成DLL組件最簡(jiǎn)教程 附全部工程源文件



3、定義ASP基本對(duì)象
添加模塊:工程-->添加模塊-->選擇“模塊”-->打開

通過VB6將ASP編譯封裝成DLL組件最簡(jiǎn)教程 附全部工程源文件



重命名模塊:工程資源管理器-->模塊--Module1-->在屬性窗口中將Module1重命名為“ASPMod”

通過VB6將ASP編譯封裝成DLL組件最簡(jiǎn)教程 附全部工程源文件



添加模塊代碼,此段代碼幾乎適用于所有使用vb封裝的asp DLL組件中,其中的ASP2DLL更改為工程名或者在調(diào)用時(shí)保持一致即可,代碼如下:

復(fù)制代碼 代碼如下:


Public objContext As ObjectContext
Public Application As ASPTypeLibrary.Application
Public Server As ASPTypeLibrary.Server
Public Session As ASPTypeLibrary.Session
Public Response As ASPTypeLibrary.Response
Public Request As ASPTypeLibrary.Request
Public Sub ASP2DLL_Initialize()
On Error Resume Next
Set objContext = GetObjectContext
Set Application = objContext.Item("Application")
Set Server = objContext.Item("Server")
Set Session = objContext.Item("Session")
Set Request = objContext.Item("Request")
Set Response = objContext.Item("Response")
End Sub
Public Sub ASP2DLL_Terminate()
On Error Resume Next
Set Application = Nothing
Set Server = Nothing
Set Session = Nothing
Set Request = Nothing
Set Response = Nothing
Set objContext = Nothing
End Sub
Public Function Eval(ByRef strEval)
Dim EvalObject As New ScriptControl
EvalObject.Language = "VBScript"
Eval = EvalObject.Eval(strEval)
Set EvalObject = Nothing
End Function


4、保存新創(chuàng)建的DLL
文件-->保存工程,一路確定下來,將模塊、類模塊、工程文件全部保存在一個(gè)文件夾下
5、類模塊中調(diào)用ASP對(duì)象
工程資源管理器-->類模塊-->雙擊Demo切換到Demo類模塊代碼編輯器,貼上代碼,初始化類調(diào)用及類銷毀,代碼如下:

復(fù)制代碼 代碼如下:


Private Sub Class_Initialize()
ASP2DLL_Initialize
End Sub
Private Sub Class_Terminate()
ASP2DLL_Terminate
End Sub


至此,一個(gè)基本的DLL框架結(jié)束,下面可以根據(jù)自己需要去完善所需封裝的函數(shù)了。
6、新創(chuàng)建一個(gè)測(cè)試函數(shù)
在Demo類模塊下貼上以下兩段測(cè)試函數(shù)。

復(fù)制代碼 代碼如下:


Public Sub hello()
Response.Write ("Hello World!")
Exit Sub
End Sub


7、編譯生成DLL
文件-->生成ASP2DLL.dll-->選擇工程所在文件夾確定,ok,至此如果沒有錯(cuò)誤信息提示的話,則證明dll組件已編譯成功。
8、注冊(cè)、卸載組件
在ASP2DLL.dll組件所在目錄創(chuàng)建
“注冊(cè).bat”批處理文件,輸入:

復(fù)制代碼 代碼如下:


iisreset/stop
regsvr32/s ASP2DLL.dll
iisreset/start


“卸載.bat”批處理文件,輸入:

復(fù)制代碼 代碼如下:


iisreset/stop
regsvr32 /u /s ASP2DLL.dll
iisreset/start


雙擊運(yùn)行注冊(cè).bat,成功注冊(cè)會(huì)提示:“ASP2DLL.dll 中的 DllRegisterServer 成功。”

通過VB6將ASP編譯封裝成DLL組件最簡(jiǎn)教程 附全部工程源文件


9、在ASP程序中調(diào)用剛封裝好的DLL組件及測(cè)試函數(shù)
步驟2中我們知道“當(dāng)DLL組件在系統(tǒng)中注冊(cè)后,在asp中默認(rèn)的調(diào)用方法是‘工程名.類名'”,因此,應(yīng)這樣創(chuàng)建對(duì)象:set Obj = Server.CreateObject("工程名.類名") ,代碼如下:

復(fù)制代碼 代碼如下:


<%
Dim ASP2DLL
Set ASP2DLL = Server.CreateObject("ASP2DLL.Demo")
ASP2DLL.hello()
Set ASP2DLL = Nothing
%>


10、包含工程文件等相關(guān)所有內(nèi)容打包下載鏈接(20110221更新下載鏈接) 打包下載

在編譯DLL時(shí)需要注意的幾點(diǎn):
1、避免使用vb保留關(guān)鍵字作為函數(shù)或變量名;
2、正則、部分Vbscript函數(shù)如Eval需要加載“工程-->引用-->Microsoft Script Control 1.0”及“Microsoft VBScript Regular Expressions 5.5”;
3、封裝并不能帶來本質(zhì)上的速度提升,虛擬主機(jī)、遠(yuǎn)程服務(wù)器需有組件注冊(cè)權(quán)限;
4、對(duì)已經(jīng)存在的組件名稱或者修改了dll文件,必須先停止IIS,再重啟IIS注冊(cè)dll組件;
5、VB6 SP6精簡(jiǎn)綠色版下載鏈接

原文來自:?cateID=20 感謝作者的辛勤勞動(dòng),東西太好了,就是網(wǎng)站訪問太慢了
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 合江县| 新建县| 腾冲县| 时尚| 新宁县| 始兴县| 阿勒泰市| 稷山县| 澄迈县| 九龙坡区| 静海县| 尤溪县| 信阳市| 松滋市| 崇阳县| 勃利县| 盱眙县| 昆山市| 武邑县| 格尔木市| 浦北县| 砀山县| 腾冲县| 华亭县| 舒兰市| 手机| 郓城县| 延川县| 新宾| 阿拉善右旗| 安丘市| 苍梧县| 江达县| 惠水县| 双江| 邛崃市| 涞水县| 汝州市| 元阳县| 东乡| 合江县|