登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

樱之花

叶散的时候,你明白欢聚;花谢的时候,你明白青春.

 
 
 

日志

 
 
关于我

分类中“我的实验室”是我在日常工作中的一些知识总结,有些写的比较匆忙,可能大家在阅读时会产生困扰,后期有时间我会重新整理编辑,谢谢大家的到访,您们的支持是我前进的动力!

用VB编写ActiveX DLL,实现ASP编程   

2007-03-21 09:07:23|  分类: ASP开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

只要你安装了PWS4或者IIS4以上的WEB服务器,你就拥有了一个名称叫做“Microsoft Active Server Pages Object”的对象库,我们可以在VB的ActiveX DLL应用中引用这个对象库,通过引用这个对象库,我们就获得了一个对象(类):ScriptingContext,这个对象也正是我们整个文章探讨的核心对象。对象库内的关系如下:

  对象库      类        类成员

  ASPTypeLibrary ScriptingContext Application

                    Request

                    Response

                    Session

                    Server

  通过上面的关系图,我们就可以很容易理解类ScriptingContent。下面我们来看一个具体的例子吧:

  1、 使用VB6创建一个新的ActiveX DLL项目

  2、 引用“Microsoft Active Server Pages Object”对象库。

  3、 创建两个组件事件:OnStartPage以及OnEndPage

  4、 在事件OnStartPage中创建类ScriptingContent的一个引用。

  5、 实例化类ScriptingContent。

  Test.cls (类实现)

  '对象的声明

  Dim rp as Response

  Dim rq as Request

  Dim ap as Application

  Dim sr as Server

  Dim sn as Session

  '当组件被创建的时候会触发这个事件

  Public Sub OnStartPage(mysc as ScriptingContent)

   '进行对象的实例化

   set rp=mysc.Response

   set rq=mysc.Request

   set sr=mysc.Server

   set ap=mysc.Application

   set sn=mysc.Session

   rp.write "<br>ActiveX DLL组件已经被创建了!<br>"

  End Sub

  '当组件被销毁的时候触发这个事件

  Public Sub OnEndPage()

   Rp.write "<br>ActiveX DLL组件已经被销毁!<br>"

   '销毁对象

   Set rp=nothing

   Set rq=nothing

   Set sr=nothing

   Set ap=nothing

   Set sn=nothing

  End Sub

  '定义我们自己的一个组件方法

  Public Sub HelloWorld()

   Rp.write "<H1>Hello,World!</H1>"

  End Sub

  这样,我们就创建可以访问ASP内置对象的ActiveX DLL了。我们命名这个组件项目为first,在VB中间编译这项目成为一个DLL文件first.dll,并且我们在系统中注册这个DLL文件。接下来,我们需要一个简单的几乎没有什么代码的ASP程序来调用这个组件:

  test.asp

  <html>

   <head>

    <title>测试ActiveX DLL</title>

   </head>

   <body>

  <%

  Dim testme

  '创建我们刚才编译成功的组件,一旦创建这个组件,同时会在叶面输出文字“ActiveX DLL组件已经被

  '创建了!”

  set testme=server.createobject("first.test")

  '调用组件的方法

  testme.HelloWorld

  '注销组件,在注销的同时,会自动在叶面显示“ActiveX DLL组件已经被销毁!”

  set testme=nothing

  %>

   </body>

  </html>

修改代码如下:

Option Explicit

Dim rp As Response

Dim rq As Request

Dim ap As Application

Dim sr As Server

Dim sn As Session

'当组件被创建的时候会触发这个事件

Public Sub OnStartPage(mysc As ScriptingContext)

    '进行对象的实例化

    Set rp = mysc.Response

    Set rq = mysc.Request

    Set sr = mysc.Server

    Set ap = mysc.Application

    Set sn = mysc.Session

    rp.Write "<br>ActiveX DLL组件已经被创建了!<br>"

End Sub

'当组件被销毁的时候触发这个事件

Public Sub OnEndPage()

    rp.Write "<br>ActiveX DLL组件已经被销毁!<br>"

    '销毁对象

    Set rp = Nothing

    Set rq = Nothing

    Set sr = Nothing

    Set ap = Nothing

    Set sn = Nothing

End Sub

'定义我们自己的一个组件方法

Public Sub HelloWorld()

    rp.Write "<H1>Hello,World!</H1>"

End Sub

  评论这张
 
阅读(990)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018