- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VB的COM编程入门教程第一节 COM简介
??? 世上无难事,只要肯登攀,所以你要有信心成为一个COM程序员,而且你一定能。
事实上,我们每次设置文本编程控件的Text属性时,就已经在使用COM,同样在DAO数据控件运行MoveNext方法时,甚至在使用VB控制字时,也都是在使用COM。
那么,什么是COM呢?
首先,COM是一种通信的方式。
例如,就像我们的电视遥控一样。当我们按下某个频道按钮时,电视频道立马切换;而当我们按下开关按钮时,电视立即关闭等等。其实,我们并不关心它们是怎样工作的,我们只知道按下按钮就能产生某个动作就可以了。
程序的原理也是一样的。当改变文本编程控件的Text属性时,我们并不知道其中的原理,也许系统内部会调用几十个API函数也说不定?但对于用户来说,则只关心文本编程控件中显示的文本就可以了。
其次,COM是一种重用代码的方式。
使用COM的最大好处是一旦建立COM的通信方式后,可以方便地在任何地方使用多次。例如,当用户创建一个用于显示日期和时间的COM组件后,就可用于任何程序中的任何地方。不仅VB应用程序、Excel程序可以访问,而且C++应用程序也可以访问它。
所以,COM组件的代码可重用性是最主要的。
再次,COM是基于实际对象的。
用COM创建的大多数组件是基于实际对象的,这就意味着一旦组件被创建,其使用是相当容易的。试想一下,如果我们在计算机系统中再添加一个用户,又有哪种添加方式如Customer.Add那样简单,是添加数据处理代码包、算法,还是向应用程序添加较大的数据库DLL?很显然,COM就支持这种简单操作。
所以,COM是一种通信方式、一种代码重用方式以及基于实际对象的。
本教程的以后部分中将简单讨论COM和VB的相关内容,这包括类的创建,以及如何将类转换成一个实际对象。虽然,这里的内容太过简单,但却是以后COM编程的基础。
第二节 类的建立
??? 在本节中,我们来实践一下。首先创建一个COM对象,然后使用它,最后再想法改进。 首先进行下面两步: 运行Visual Basic;选择 Standard EXE工程类型;由于COM对象是基于类的,而类实际上是程序包,就像模块中的代码一样。所以: 选择Project-Add Class Module;当相应的对话框出现后,选择Class Module,然后单击Open按钮。 这样,在桌面上显示一个表单,以及包含在工程Project1中的Class1。 下面再将空的类的类名更改: 在类的属性窗口中,将类的Name属性改成CDog。 需要说明的是,为了区别起见,每个对象名的前面都有相应的前缀,例如Text Box对象前是txt、Form前是frm、类前可以大写字母C或小写字母cls,但这里使用前者。 下面我们添加一些代码来测试一下: 在CDog类通用声明部分中,添加变量的声明:
Public Name As String 然后,打开Form1; 在表单中添加一个命令按钮; 打开代码窗口,为该命令按钮添加下列代码:
Dim MyDog As CDogSet MyDog = New CDogMyDog.Name = Billy MooreMsgBox MyDog.NameSet MyDog = Nothing 下面就来解释上述代码的含义:
Dim MyDog As CDog 该行语句是用来通知Visual Basic为CDog对象设置一个位空间,但这时还不能使用该对象,必须等到下条语句为止:
Set MyDog = New CDog 它是用来创建CDog的实例。这就意味着前面空的MyDog模板变成了现在可以使用的CDog对象。
MyDog.Name = Billy Moore MsgBox MyDog.Name 上述代码的第一行是用来设置MyDog的Name变量,同时第二行语句是用来将该变量的内容显示在消息对话框中。最后:
Set MyDog = Nothing 用来将MyDog对象简单的置空。 按F5键运行并测试。 怎么样?但同时,我们可能不禁要问,标准模块和类模块究竟有什么不同?我们再来看看下面的示例: 将命令按钮的代码变成:
Dim MyDog As CDog Set MyDog = New CDog Dim MyDog2 As CDog Set MyDog2 = New CDog MyDog.Name = Billy Moore MsgBox MyDog.Name MyDog2.Name = Sadie Moore MsgBox
您可能关注的文档
- 城市园林绿化企业资质标准建城[2007]27号.doc
- 城市居民休闲方式选择倾向和特征研究.doc
- 城市房屋拆迁补偿的基本标准.docx
- 城市环境卫生质量标准.doc
- 城市生态学实习报告.doc
- 【物理】7.7动能和动能定理课件1(人教版必修2).ppt
- 城市生活垃圾分类的基本方法.doc
- 【步步高】2015届高三英语人教新课标(通用)【配套课件】Book8Unit5.ppt
- 城市生活垃圾卫生填埋技术标准1989.0701.doc
- 城市管理局监控方案.doc
- 2024-2025学年四川省成都市青羊区石室中学高三第二次质量调研抽测生物试题理试题含解析.doc
- 2024-2025学年四川省眉山市重点中学高三年级下学期第一次诊断考试英语试题含解析.doc
- 2024-2025学年四川省成都市彭州中学高考一模英语试题含解析.doc
- 2024-2025学年天津市宝坻区等部分区高三下-期中考试生物试题试卷含解析.doc
- 2024-2025学年四川省成都市双流区棠湖中学学业水平考试生物试题模拟卷(十二)含解析.doc
- 2024-2025学年四川省成都嘉祥外国语学校高考生物试题命题比赛模拟试卷(4)含解析.doc
- 2024-2025学年深圳中学高三4月联合考试英语试题含解析.doc
- 2024-2025学年四川省泸州市泸县五中高三年级第一次模拟测试卷英语试题含解析.doc
- 2024-2025学年四川省眉山市仁寿县高三年级第四次月考生物试题含解析.doc
- 2024-2025学年四川省自贡市旭川中学高考生物试题押题密卷(全国新课标Ⅰ卷)含解析.doc
文档评论(0)