ASP調用dll及封裝dll實例,封裝為dll可以提供運行效率,加密代碼。
打開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
'下面定義公用函數(在VB中訪問ASP對象,即在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
'建立自定義函數SayHello
Public Sub SayHello()
MyResponse.Write ("Hello World")
End Sub
'Code End
?
4、將類名改為:HelloWorld 將工程名改為:TestVBCode
5、生成TestVBCode.DLL文件,并使用Windows運行注冊組件命令Regsvr32 路徑\TestVBCode.DLL注冊后即可使用。(卸載組件命令為Regsvr32 /u 路徑\TestVBCode.DLL)
6、建立Test.asp文件,代碼如下
<%
'VB自建函數調用格式
'Set 對象名=Server.CreateObject("工程名.類名")
'對象名.自建函數名
Set MyTestObj = Server.CreateObject("TestVBCode.HelloWorld")
MyTestObj.SayHello
%>
?
7、運行Test.asp文件結果顯示如下:
Hello World
===========================================================
對于更復雜的運用,大家可以通過這個實例向外擴展就可以了.
如:
?
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
這個是用數據庫連接的代碼封裝,當然這里要添加ADO引用的.