- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.12、小节回顾: 1、创建对象:CoCreateInstance函数 2、撤销对象:Release方法 3、调用接口的方法:pt-methodFun(…) 4、切换接口:QueryInterface方法 5、用于标识对象和接口的各种GUID:CLSID_…、IID_…、ProgID 6、组件所需的注册项:注册表中的HKEY_CLASSES_ROOT键 * ? CoCreateInstance是什么函数? CoCreateInstance是怎么找到CLSID对应的组件的? 我的机器上要是有几个相同的组件程序模块,Windows会启动那一个? 创建的组件对象什么时候消亡? 组件程序什么时候退出? * Q A * * * COM基本原理 * COM基本原理 本部分重点掌握: (1)?????? 组件及其相关概念; (2)?????? COM组件标准; (3)?????? 如何制作组件; (4)?????? 如何注册和注销组件; (5)?????? 如何使用组件; (6)?????? COM库和组件的运行环境。 (7)?????? 组件生存期如何维护; (8)?????? 标准接口IUnknown和IDispatch; (9)?????? 组件与IUnknown的关系; (10)? ? 控件与IDispatch的关系,控件的属性、方法、事件; * 1.1、组件(component)的产生 (1) 软件设计、生产、维护的需要 级别:原始代码行(0) 子程序(1) 类/对象结构(2) 包(3) 组件(4) =相关概念组成一个单元,通过名字来引用 面向对象封装,面向组件封装…… (2) 代码重用、封装 封装(encapsulation)? = ? * 1.2、组件重用技术 明码:源程序(C++类)、宏、模板 (1)软件重用技术 静态连接库lib 二进制代码 动态连接库dll 组件 (2) 组件(Component)? =编译连接好可使用的二进制程序代码。 * 2.1、COM对象 COM 对象封装程度高 无法知道对象的内部实现细节:语言、数据结构、程序代码。 只能通过接口访问(access)对象。 完全封装的非 COM 对象、有接口的非COM对象、COM对象 * 神秘的COM先生,听说你很能干,请问你叫什么名字? - 我的名字叫:{2E06E8F1-5B39-4a7d-8B56-B95F553385B4} 我怎么没见过这样的名字?这么长,好难记呀! - 这是我们在大微软帝国的身份证号,是盖茨老佛爷起的,有128位呢,他说这是全球唯一标识符(或者叫GUID)。 你也可以叫我的学名,不过你得严格的这样叫: CLSID_MrCOM 你要是觉得合适的话,还可以叫我的小名: Word.Document.1 是不是容易记多了? 我想向你请教几个问题?怎么和你联系呀? - 给我的秘书打电话把,号码是: 0000-0000-C000-000000000046} 哇!还是这么长,不过好像很特别! 2.2、COM迷与COM先生的对话 * 2.2、COM迷与COM先生的对话(续) -是的,在大微软帝国,所有的号码都叫全球唯一标识码。我有很多种联系方式,你可以写信、发电报、发传真,还有现在说不清的联系方式。 那你都告诉我吧?这样我就好和你联系了。 - 不行呀,因为我经常到世界各地去解答人们的问题,其它联系方式都是变的,只有秘书的电话不变,她知道我最近的联系方式,你每次都先向她查询我的联系方式,然后再问我。 好麻烦哟!她的电话号码那么长,每次都要数0。 - 哈哈,现在已经很先进了,可以声音拨号啦,你叫她“IUnknown”就行了,中文名叫“艾安娜”。 那她能做些什么呢? - 她只做三件事:告诉你我的其它联系方式;记录你和我联系次数,也就是“加数”和“减数”。
文档评论(0)