如何用VB6写COM组件(二)

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 fleg 的 blog

如何用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内置对象一样简单了。

本文关键:如何用VB6写COM组件(二)
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top