VB.NET工作笔记002---asp调用vb6编写的activex dll

    JAVA技术交流QQ群:170933152

注意这里下面写的,这个小项目,个人发现,仅仅写一个sayHello()方法就可以了,仅仅做个例子的话,不用这么麻烦还写这么多。。

打开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引用的.

猜你喜欢

转载自blog.csdn.net/lidew521/article/details/87547412