| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 398 人关注过本帖
标题:如何用VB6写COM组件(二)
只看楼主 加入收藏
月魔
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-7-24
收藏
 问题点数:0 回复次数:0 
如何用VB6写COM组件(二)

如果你的VB和WEB服务器不是在一台电脑上,那么在把dll文件拷贝到服务器上后,如果要让组件能够被使用,就必须手工对其进行注册。

   首先你需要把.dll文件从你开发它的机器上,发送到你的服务器上。一般在www服务器上可以为所有的为ASP写的组件建立一个目录,把那个.dll文件拷贝到那个目录中。比如在InetPUB下建立一个Server Components目录。在完成拷贝后,就可以运行Regsvr32.exe来注册这个组件了。在“开始”菜单中选这“运行”,然后在“运行”对话框中输入regsvr32 和要注册的组件的名称和其完整路径。例如:

   Regsvr32 "C:InetPubServer ComponentsMyComponent.dll"

   就这么简单,在注册成功之后,你会得到一个成功注册的信息。然后,你就可以在ASP页面中引用这个COM对象了。当然,要完成这些你需要有服务器的访问权限,你可以直接在服务器上注册或者通过诸如pcAnywhere之类的软件实现远程注册。

   然后,我们就可以在ASP中调用这个组件了。建立一个ASP页面,并添入下面的代码:

   < % Option Explicit

   Dim oCheckYear

   Dim IsLeapYear

   Dim Year

   Year = 1900 ´用来检测组件的年份

   ´建立一个对刚才那个组件的引用

   Set oCheckYear = CreateObject("CheckYear.LeapYear")

  ´调用组件中的IsLeapYear函数,并报存结果

   IsLeapYear = oCheckYear.IsLeapYear(Year)

   ´清除对组件的引用,好的编程习惯

   Set oCheckYear = Nothing

   % >

   < HTML >

   < HEAD >

   < TITLE >例子< /TITLE >

   < /HEAD >

   < BODY >

   < %

   ´打印输出

   If IsLeapYear = True Then

   Response.Write "< P >< b >" & Year & "< /b >是闰年< /P >"

   Else

   Response.Write "< P >< b >" & Year & "< /b >不是是闰年< /P >"

   End If

   % >

   < /BODY >

   < /HTML >

   代码很简单,唯一需要解释的,就是在ASP中如何建立对自建对象的引用。它的语法是:CreateObject("Projectname.Classname")。你应该还记得吧,在前面我们把工程命名为CheckYear而把类命名为LeapYear,因而在这儿的语句就是:CreateObject("CheckYear.LeapYear")。一旦你建立了对对象的引用,你就可以在ASP页面中访问其所有的公有元素了。剩下的,就如同调用其它任何ASP内置对象一样简单了。

搜索更多相关主题的帖子: 组件 COM 
2006-07-24 11:31
快速回复:如何用VB6写COM组件(二)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015148 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved