ASP 調(diào)用dll及封裝dll實(shí)例
更新時(shí)間:2009年11月07日 00:09:44 作者:
ASP調(diào)用dll及封裝dll實(shí)例,封裝為dll可以提供運(yùn)行效率,加密代碼。
打開(kāi)VB6,新建ActiveX DLL
2、在工程引用中加入Microsoft Active Server Pages Object Library選擇
3、填加代碼如下:
'Code Start
'聲明部分
Private MyScriptingContext As ScriptingContext
Private MyApplication As Application
Private MyRequest As Request
Private MyResponse As Response
Private MyServer As Server
Private MySession As Session
'下面定義公用函數(shù)(在VB中訪問(wèn)ASP對(duì)象,即在VB中可以用MyApplication等同于ASP中的Application、MyRequest等同于ASP中的Request、 MyResponse等同于ASP中的Response、 MyServer等同于ASP中的Server、 MySession等同于ASP中的Session 使用)
Public Sub OnStartPage(PassedScriptingContext As ScriptingContext)
Set MyScriptingContext = PassedScriptingContext
Set MyApplication = MyScriptingContext.Application
Set MyRequest = MyScriptingContext.Request
Set MyResponse = MyScriptingContext.Response
Set MyServer = MyScriptingContext.Server
Set MySession = MyScriptingContext.Session
End Sub
Public Sub OnEndPage()
Set MyScriptingContext = Nothing
Set MyApplication = Nothing
Set MyRequest = Nothing
Set MyResponse = Nothing
Set MyServer = Nothing
Set MySession = Nothing
End Sub
'建立自定義函數(shù)SayHello
Public Sub SayHello()
MyResponse.Write ("Hello World")
End Sub
'Code End
4、將類名改為:HelloWorld 將工程名改為:TestVBCode
5、生成TestVBCode.DLL文件,并使用Windows運(yùn)行注冊(cè)組件命令Regsvr32 路徑\TestVBCode.DLL注冊(cè)后即可使用。(卸載組件命令為Regsvr32 /u 路徑\TestVBCode.DLL)
6、建立Test.asp文件,代碼如下
<%
'VB自建函數(shù)調(diào)用格式
'Set 對(duì)象名=Server.CreateObject("工程名.類名")
'對(duì)象名.自建函數(shù)名
Set MyTestObj = Server.CreateObject("TestVBCode.HelloWorld")
MyTestObj.SayHello
%>
7、運(yùn)行Test.asp文件結(jié)果顯示如下:
Hello World
===========================================================
對(duì)于更復(fù)雜的運(yùn)用,大家可以通過(guò)這個(gè)實(shí)例向外擴(kuò)展就可以了.
如:
Public Sub connstr2()
Set conn = MyServer.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & MyServer.MapPath("codata.mdb")
Set rs = conn.Execute("select * from news")
Do While Not rs.EOF
MyResponse.Write (rs("news_title") & "<br>")
rs.MoveNext
Loop
rs.Close
Set conn = Nothing
End Sub
這個(gè)是用數(shù)據(jù)庫(kù)連接的代碼封裝,當(dāng)然這里要添加ADO引用的.
2、在工程引用中加入Microsoft Active Server Pages Object Library選擇
3、填加代碼如下:
復(fù)制代碼 代碼如下:
'Code Start
'聲明部分
Private MyScriptingContext As ScriptingContext
Private MyApplication As Application
Private MyRequest As Request
Private MyResponse As Response
Private MyServer As Server
Private MySession As Session
'下面定義公用函數(shù)(在VB中訪問(wèn)ASP對(duì)象,即在VB中可以用MyApplication等同于ASP中的Application、MyRequest等同于ASP中的Request、 MyResponse等同于ASP中的Response、 MyServer等同于ASP中的Server、 MySession等同于ASP中的Session 使用)
Public Sub OnStartPage(PassedScriptingContext As ScriptingContext)
Set MyScriptingContext = PassedScriptingContext
Set MyApplication = MyScriptingContext.Application
Set MyRequest = MyScriptingContext.Request
Set MyResponse = MyScriptingContext.Response
Set MyServer = MyScriptingContext.Server
Set MySession = MyScriptingContext.Session
End Sub
Public Sub OnEndPage()
Set MyScriptingContext = Nothing
Set MyApplication = Nothing
Set MyRequest = Nothing
Set MyResponse = Nothing
Set MyServer = Nothing
Set MySession = Nothing
End Sub
'建立自定義函數(shù)SayHello
Public Sub SayHello()
MyResponse.Write ("Hello World")
End Sub
'Code End
4、將類名改為:HelloWorld 將工程名改為:TestVBCode
5、生成TestVBCode.DLL文件,并使用Windows運(yùn)行注冊(cè)組件命令Regsvr32 路徑\TestVBCode.DLL注冊(cè)后即可使用。(卸載組件命令為Regsvr32 /u 路徑\TestVBCode.DLL)
6、建立Test.asp文件,代碼如下
復(fù)制代碼 代碼如下:
<%
'VB自建函數(shù)調(diào)用格式
'Set 對(duì)象名=Server.CreateObject("工程名.類名")
'對(duì)象名.自建函數(shù)名
Set MyTestObj = Server.CreateObject("TestVBCode.HelloWorld")
MyTestObj.SayHello
%>
7、運(yùn)行Test.asp文件結(jié)果顯示如下:
Hello World
===========================================================
對(duì)于更復(fù)雜的運(yùn)用,大家可以通過(guò)這個(gè)實(shí)例向外擴(kuò)展就可以了.
如:
復(fù)制代碼 代碼如下:
Public Sub connstr2()
Set conn = MyServer.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & MyServer.MapPath("codata.mdb")
Set rs = conn.Execute("select * from news")
Do While Not rs.EOF
MyResponse.Write (rs("news_title") & "<br>")
rs.MoveNext
Loop
rs.Close
Set conn = Nothing
End Sub
這個(gè)是用數(shù)據(jù)庫(kù)連接的代碼封裝,當(dāng)然這里要添加ADO引用的.
相關(guān)文章
ASP 無(wú)限級(jí)分類實(shí)現(xiàn)
該例子演示了無(wú)限級(jí)分類的顯示和添加.只用一個(gè)數(shù)據(jù)表實(shí)現(xiàn)記錄無(wú)限級(jí)分類,關(guān)鍵是每條記錄都記錄了上一層類別的ID(parentid),然后通過(guò)一個(gè)遞歸函數(shù)來(lái)不斷將類別顯示出來(lái).2008-03-03
可以應(yīng)用到馬克斯電影站生成Rss Feed的代碼
前段時(shí)間為了給本人的電影站增加Rss訂閱功能,動(dòng)手寫(xiě)了個(gè)動(dòng)態(tài)生成Rss Feed的ASP代碼,沒(méi)法上傳附件,就直接貼代碼吧,反正也不長(zhǎng),用馬克斯做電影站的朋友直接拿去用吧,其它類型的站點(diǎn)修改一下也能用。生成的Rss Feed采用UTF-8編碼,經(jīng)過(guò)feedvalidator.org校驗(yàn),兼容Rss 2.0和Atom。2008-03-03
asp下對(duì)POST提交數(shù)據(jù)限制的解決方法
由于微軟對(duì)POST提交數(shù)據(jù)的大小進(jìn)行了限制,當(dāng)表單發(fā)送的數(shù)據(jù)量很大時(shí),就會(huì)報(bào)錯(cuò)(錯(cuò)誤 "ASP 0107 : 80004005")。原因是微軟對(duì)用Request.Form()可接收的最大數(shù)據(jù)限制為100K字節(jié)。2008-06-06
Asp中通過(guò)簡(jiǎn)單的例子理解下ByVal和ByRef的用法
VB中形參聲明有兩種方式,一種是ByVal,一種是ByRef,如果是ByVal則在傳遞參數(shù)時(shí)將實(shí)參的一個(gè)拷貝傳遞給子程序,子程序?qū)?shù)的修改不會(huì)影響原有參數(shù)。如果是ByRef,則將實(shí)參的指針傳遞給子程序,子程序?qū)?shù)的修改會(huì)影響原有參數(shù)的值。2011-01-01
過(guò)濾掉危險(xiǎn)的HTML標(biāo)記:script,ifame,object
過(guò)濾掉危險(xiǎn)的HTML標(biāo)記:script,ifame,object...2007-01-01
asp實(shí)現(xiàn)圖片右鍵滑輪控制大小的函數(shù)
asp實(shí)現(xiàn)圖片右鍵滑輪控制大小的函數(shù)...2007-08-08
Cookies 欺騙漏洞的防范方法(vbs+js 實(shí)現(xiàn))
考慮到 ASP 開(kāi)發(fā)可以采用 vbs 和 js 兩種語(yǔ)言,這里同時(shí)提供兩種語(yǔ)言的程序代碼(雙語(yǔ)版?YY中……)2009-12-12

