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

首頁(yè) > 編程 > ASP > 正文

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

2020-07-27 12:47:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
1、新建DLL
打開(kāi)VB6-->文件-->新建工程-->選擇ActiveX DLL-->確定


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


類(lèi)重命名在屬性窗口中將名稱(chēng)重命名為Demo


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


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


添加模塊代碼,此段代碼幾乎適用于所有使用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
文件-->保存工程,一路確定下來(lái),將模塊、類(lèi)模塊、工程文件全部保存在一個(gè)文件夾下
5、類(lèi)模塊中調(diào)用ASP對(duì)象
工程資源管理器-->類(lèi)模塊-->雙擊Demo切換到Demo類(lèi)模塊代碼編輯器,貼上代碼,初始化類(lèi)調(diào)用及類(lèi)銷(xiā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類(lèi)模塊下貼上以下兩段測(cè)試函數(shù)。
復(fù)制代碼 代碼如下:

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

7、編譯生成DLL
文件-->生成ASP2DLL.dll-->選擇工程所在文件夾確定,ok,至此如果沒(méi)有錯(cuò)誤信息提示的話(huà),則證明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 成功。”

9、在ASP程序中調(diào)用剛封裝好的DLL組件及測(cè)試函數(shù)
步驟2中我們知道“當(dāng)DLL組件在系統(tǒng)中注冊(cè)后,在asp中默認(rèn)的調(diào)用方法是‘工程名.類(lèi)名'”,因此,應(yīng)這樣創(chuàng)建對(duì)象:set Obj = Server.CreateObject("工程名.類(lèi)名") ,代碼如下:
復(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、封裝并不能帶來(lái)本質(zhì)上的速度提升,虛擬主機(jī)、遠(yuǎn)程服務(wù)器需有組件注冊(cè)權(quán)限;
4、對(duì)已經(jīng)存在的組件名稱(chēng)或者修改了dll文件,必須先停止IIS,再重啟IIS注冊(cè)dll組件;
5、VB6 SP6精簡(jiǎn)綠色版下載鏈接

原文來(lái)自:http://www.dlstu.cn/code/default.asp?cateID=20 感謝作者的辛勤勞動(dòng),東西太好了,就是網(wǎng)站訪(fǎng)問(wèn)太慢了
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 怀仁县| 天峻县| 随州市| 栖霞市| 淄博市| 莎车县| 闵行区| 肇庆市| 招远市| 通辽市| 台北市| 澄迈县| 宜春市| 北海市| 隆子县| 井研县| 武平县| 东光县| 长岛县| 纳雍县| 涞水县| 东平县| 楚雄市| 城固县| 浑源县| 木兰县| 丰都县| 甘孜县| 镇安县| 阆中市| 浦江县| 达拉特旗| 隆子县| 仙居县| 固原市| 沧州市| 石柱| 冀州市| 永顺县| 桂林市| 台东县|