- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
十三.自动化对象
◼概念澄清:
–类型库与自动化接口Idispatch完全独立
–自动化对象与自动化控制完全独立
–命名的
1.类型库
2.IDispatch接口
3.自动化对象的实现
4.使用自动化对象客户
1.晚绑定
2.DISPID绑定
3.早绑定、
5.自动化对象编程实践
1-26
1类型库
◼COM不仅追求C++编译器的中立,而且追求语言的独
立性.因此它使用IDL语言来描述接口.然后在IDL到具
体的语言之间建立映射.
◼客户通过接口调用对象时,在编译时刻需要接口的准确
的描述,这个描述正是来自于MIDL对IDL编译后产生
的头文件
◼但是一些数据类型在有些语言中难以表达。比如复杂
的结构类型,指针类型,函数指针等等在一些弱类型的
高级语言中比如Java,VisualBasic等并没有得到支持.
Java,VB等无法使用这种基于C/C++的头文件,IDL到
这些语言的映射不能顺利地进行.COM的语言无关性
受到很多的限制。
2-26
◼因此,MS使用类型解决这个问题.类型库文件是一
个二进制文件,后缀为.tlb.
◼类型机器可读的方式描述了组件与外界交互的必
要信息.如COM对象的CLSID,它支持的接口的IID,接
口的成员函数的签名等等
◼本质上它等价于描述接口的C/C++头文件
◼用MIDL工具编译idl文件可以产生类型库文件,在实际
的开发过程中不一定要手工使用MIDL工具,IDE对其
进行了集成.编译完成以后,我们可以选择把它随组件
库一起分发。
3-26
◼一个类型库可以包含多个COM对象,这些COM对象可以实现多个
接口,而且一般而言实现了IDispatch接口(不是必须).为了标识这
些类型库,也使用GUID来作为它的唯一标识LIBID.并且也在
表中,位置是HKEY-CLASSES_ROOT\TypeLib,内
容主要指明类型库所描述的对象的载体(dll文件等)的位置.
◼C#,VB,Java等语言的开发者不需要直接面对类型库.相反,它是
由编译器环境(VB虚拟机,Java虚拟机)来解释它.这样它使得开发
者在开发期能够浏览接口的相关信息.
–VB中,通过Reference添加对类型库的后,使用ObjectBrowser
–C#中reference。使用类视图查看COM接口,
–另一个工具OLE/COMObjectViewer.
◼开发人员只需要使用宿主语言简单的语法,非常方便地使用COM.
我们看到,如果不是使用COM,而是以一般的库函数的形式,在VB
这样的高端应用中使用起来就没有这么简便(对最终开发者而言).
◼每一样复杂的技术,在使用者的舒适的背后,是底层开发者的艰辛)
4-26
◼C++编译器也可以利用类型库.
–VisualC++IDE中的ClassWizard
–C++BuilderIDE,DElphi中的importTypeLibrary
命令
◼都可以读入组件的类型库,并利用其中的信息产生C+
+代码。客户程序利用这些代码可以使用COM组件。
您可能关注的文档
- 电动力学量子力学课件一章一部分.pdf
- 汉阴兴苑小区职教中心等处光纤接入工程竣工.pdf
- recipes form-dk5 flyer lunch食谱表格传单午餐.pdf
- 周期信号频谱分析级数.pptx
- 章关键词匹配模式高级.pptx
- 版数学七级下册三角形内角课时.pdf
- gt20l16s1y点阵汉字库芯片用户手册.pdf
- 老人游泳即使天气恶劣英语.pdf
- 老人游泳即使天气恶劣英语.pptx
- 信管课程设计版说明书.pdf
- 英语人教PEP版八年级(上册)Unit4+writing+写作.pptx
- 人美版美术四年级(上册)8 笔的世界 课件 (1).pptx
- 人美版美术七年级(上册)龙的制作.pptx
- 英语人教PEP版六年级(上册)Unit 2 第一课时.pptx
- 数学苏教版三年级(上册)3.3 长方形和正方形周长的计算 苏教版(共12张PPT).pptx
- 音乐人教版八年级(上册)青春舞曲 课件2.pptx
- 音乐人教版四年级(上册) 第一单元 音乐知识 附点四分音符|人教版.pptx
- 英语人教PEP版四年级(上册)Unit 6 Part B let's learn 1.pptx
- 道德与法治人教版二年级(上册)课件-3.11大家排好队部编版(共18张PPT).pptx
- 人美版美术七年级(上册)《黄山天下奇》课件1.pptx
文档评论(0)