我的VB作品
|
初学指南
|
编程技巧
|
源码下载
|
工具控件
|
VBA应用
|
Blog
|
【电信线路】
|
【网通线路】
位置:
VB知识库
>>
编程技巧
>>
COM
>> 正文
用户登陆
热门文章
INET控件的几点使...
INET控件的所有状...
利用WinInetAPI清...
document.execCo...
怎样使WebBrowse...
获取网卡的序列号...
获取硬盘逻辑序列...
VB自带注册表函数...
推荐文章
VB写WebBrowser捕...
在ListView中动态...
3种获取网页源代...
最新调查
你是怎样知道VB知识库的?
通过搜索引擎
即时通讯工具
朋友介绍
友情链接
其它
频道统计
Visual Basic COM基础之创建第一个COM对象[八][VB知识库-Visual Basic Knowledge base]
Visual Basic COM基础之创建第一个COM对象[八][VB知识库-Visual Basic Knowledge base]
作者:
luka
来源:
VB知识库
录入:
luka
更新时间:
2008-3-23 14:34:06
点击数:9
【字体:
】
让我们直接来开始创建第一个真正的COM对象,它将被用于那些ActiveX程序中。
具体步骤如下:
启动Visual Basic;
我们将看到一个"New Project"对话框,其中有几个与ActiveX相关的选项图标。下面来解释一下:
ActiveX DLL——创建一个包含类的.DLL程序,这是我们将要采用的选项;
ActiveX EXE——创建一个包含类的.EXE程序,以后将讨论这个类型;
ActiveX Control——添加一个工程,允许自己创建用于toolbox中的控件。这里不去讨论它。
ActiveX Document EXE——创建一个基于Web页的.EXE程序,这里也不去讨论。
ActiveX Document DLL——创建一个基于Web页的.DLL程序,由于与我们的主题甚远,所以自然也不去讨论它。
顺便说明一下,如果在工程列表中没有上述选项,那么你可能使用了Visual Basic的学习版。
当然,在上述那么多选项中,我们真正感兴趣的是ActiveX DLLs和Active EXEs。等会再来讨论后一种,这里先看看第一种!
选中"ActiveX DLL"项;
单击[OK]按钮;
这样,一个ActiveX DLL工程就建立好了。我们之所以创建ActiveX DLL是准备将它作为一个前端服务器,它基于Northwind数据库中的Customers表的(Northwind数据库是随Visual Basic一起发行的,位于VB98文件夹中)。
这也就是说,我们后面一定会处理Customers信息,但那时我们仅仅需要对类的调用,而不想过多地停留在数据处理代码的纠缠中。
当然,我们得首先创建这个类。虽然COM能使编程更容易一点,但这个类的构造还是比较困难的。尽管如此,在深入数据库之前,先来对ActiveX程序中的名称作一些修改。
将类的Name属性改为"Customers";
选择"Project"->"Project Properties"菜单,在弹出的对话框中,将工程名改为"Northwind";
现在再来使类与数据库相连:
选择"Project"->"References"菜单;
在弹出的对话框中,选择"Microsoft ActiveX Data Objects 2.1 Library",单击[OK]按钮;该"引用"允许用户处理一个数据库,当然现在都使用COM对象来处理了。下面将围绕相应的记录集而展开:
在我们的类中添加下列代码:
Dim rs As Recordset
这是一个用于访问数据库的记录集对象。
当然,当其他开始使用该类时,我们希望记录集对象能和数据库建立连接,而当类使用结束后,与数据库的连接能断开。基于这种思想,其代码如下:
在代码窗口中,将Object组合框中当前的"(General)"项改为"Class";
在右边的组合框中,确保当前项为"Initialize";
代码窗口中将出现:
Private Sub Class_Initialize()
End Sub
当类刚开始时,所有这里面的代码都会被执行,类似于表单中的Form_Load事件。
在"Initialize"事件中键入下列代码:
Set rs = New Recordset
rs.ActiveConnection = "Provider=Microsoft." & _
"Jet.OLEDB.4.0;Data Source=C:\Program Files\" & _
"Microsoft Visual Studio\VB98\Nwind.mdb;" & _
"Persist Security Info=False"
rs.Open "select * from customers", , adOpenKeyset, adLockOptimistic
这里不需要任何与该类相关的代码,它只是使用Visual Basic通用的ADO数据库处理代码,该类中的代码是用来如何与数据库建立连接的。
需要说明的是,如果Northwind数据库Nwind.mdb不在C:\Program Files\Microsoft Visual Studio\VB98文件夹,那么必须将ActiveConnection字符串内容作适当修改!
当类开始时,rs对象负责与数据库建立连接,但当类对象结束后或程序关闭它时,我们应该使该连接断开。
编程时,我们使用Terminate事件,它与Form_Unload非常相似的。从名称来看,它们都有一个"n",但更相似的地方是当相应的对象关闭后,它们都会被激发。
下面来加入数据库关闭的代码:
从Object组合框中选择"Class",从Procedure组合框中选择"Terminate";
在"Terminate"事件中,添加下列代码:
rs.Close
Set rs = Nothing
这就是我们添加的又一段简单代码,它只是简单地关闭数据库,然后将rs设置为Nothing。这样,rs就会被有效删除。
好了,本节就到这里。下一节中,我们将继续添加代码用来处理数据中的记录集。
至少要成为本站的注册会员才能下载!
注册点我!
上一篇:
Visual Basic COM基础之可重用性[七]
下一篇:
Visual Basic COM基础之添加属性和方法[九]
发表评论
告诉好友
打印此文
收藏此页
关闭窗口
返回顶部
热点文章
INET控件的几点使用
INET控件的所有状态State的...
利用WinInetAPI清除特定网...
document.execCommand()函...
怎样使WebBrowser可编辑?...
推荐文章
VB写WebBrowser捕捉信息
在ListView中动态加载记录...
3种获取网页源代码的方法(...
相关文章
网友评论:(只显示最新5条。)
河北宝宝网
河北教育网址导航
VB知识库
点击申请
点击申请
点击申请
点击申请
点击申请
点击申请
点击申请
|
关于本站
|
设为首页
|
加入收藏
|
站长邮箱
|
与我同在
|
版权申明
|
联系我们
|
站长QQ
|
【电信线路】
|
【网通线路】
|
Copyright© 2008
vbkbase.com
All Rights Reserved QQ群:54150844
冀ICP备08000517号