日期:2011-02-15  浏览次数:20731 次

编写定制的Active Server Page(ASP)代码来完成一些任务,比方说数据库访问的能力是重要的.但是,一个由脚本写成的解决方案最明显的问题就是性能.在这篇文章中,我将向你展示如何将一个数据库对象的脚本版本转换成一个动态链接库(dll),或是就象它的通常的名字,一个COM组件.为了生成这个编译版本,我将使用Visual Basic 6 service pack 4.我曾经向你展示了如何创建一个VBScript对象来简化对数据源的访问.因为这个对象有可能被大量使用,所以它是一端理想的可以编辑成COM组件的代码. 

Visual Basic对创建COM组件来说是一个很好的开发环境,而且在6.0版本中,编译器变得非常的高效.在许多情况下,它可以产生和C++一样快的代码.这并不是说,你不应该使用C++.经常,一些项目要求一个只能由C++生成的高效的组件.但是因为开发的速度和使用的容易性,我所参与的大多数工程都喜欢选择Visual Basic.当然,你对开发语言的选择纯粹是个人爱好的问题,所以我会把语言选择的问题留给你. 

初始的脚本代码 为了让你回忆起以前的内容,列表A显示了上一篇文章中数据库对象的VBScript版本.

转换到Visual Basic中来 将这段脚本转换成一个Visual Basic 组件并不困难.第一步当然是启动Visual Basic.启动后显示的屏幕(除非你已经要求Visual Basic 不显示它了)是如图A所示的新建工程对话框.注意到里面有一个ActiveX dll选项.只需要选中这个选项然后单击新建按钮就可以生成一个新的所有属性都设置成创建一个COM dll的Visual Basic工程.它会自动生成一个名叫Class 1的新类. 

单击"工程"菜单然后选择"Project 1属性"来打开如图B所示的对话框.这里,你可以改变工程的名字或是设置决定组件如何被编译的选项.将工程命名为DBUtil然后选中"独立运行"复选框".这个选项告诉Visual Basic这个组件没有任何用户交互过程.这基本上就是说所有的错误信息和输出都会输出到事件记录中去.其余所有的设置都置为缺省值然后单击确定. 

图B