组件技术书面作业.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
组件技术书面作业 --------请于16周前由班长统一收齐交老师 1、 COM? 答:组件就是对象。C++ Builder中叫组件,Delphi中叫部件,而在Visual BASIC中叫控件。   组件是对数据和方法的简单封装。C++ Builder中,一个组件就是一个从TComponent派生出来的特定对象。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。组件是近代工业发展的产物,兴起于20世纪初,目的是功能模块化,前提是接口标准化,好处是构成产品的各个功能组件,由更专业的厂商生产,提高了质量,降低了成本。而生产组件的厂商,同样的组件,可应用于多类产品和多个领域,极大地扩展了市场范围。COM是Component Object Model (组件对象模型)的缩写 COM组件是动态链接的,而且COM组件是完全与语言无关的。 COM组件可以以二进制的形式发布。 COM组件还可以在不妨碍老客户的情况下被升级成新的版本。 COM可以透明地在网络上被重新分配位置。 不要把DLL和COM做比较,因为COM技术正是利用了 DLL的动态链接能力才得以实现的,而现在一般观点则认为,利用DLL动态链接能力最佳的方法是COM。 2、 CLSID、IID、GUID?它们之间的关系是什么?如何用C/C++语言来描述GUID?CLSID和ProgID的关系又是什么?它们之间是如何相互转化的? 答:GUID (Globally Unique Identifier) 128位全球唯一标识符 ,被赋予生成的每个COM组件和接口,向操作系统和其他软件唯一标识这个组件 CLSID 用来标识COM对象的GUID IID 用来标识COM接口的GUID 在C、C++语言中,可以用这样的语言来描述: Typedef struct.GUID { DWORD Data1; WORD Data2; WORD Data3; BYTE Data4[8]; }GUID; CLSID和ProgID的关系以及相互转化: HRESULT CLSIDFromProgID( LPCOLESTR lpszProgID, // 指向ProgID的指针 LPCLSID pclsid // 指向CLSID的指针 ); WINOLEAPI ProgIDFromCLSID( REFCLSID clsid, // CLSID 的值,已知 LPOLESTR * lplpszProgID // 指向接收ProgID的缓冲区 ); 3、你如何理解COM的二进制特性?(可以从COM对象、COM接口的角度谈) 答:COM是已经编译好的程序组件,但不是一个完整的可行性程序,不能从DLL启动,只能被可执行程序载入到其内存空间中COM组件实现了二进制级别的模块复用.可以不限语言.可以不用将模块代码加入到自己的程序工程中即可调用其功能.这就是COM组件的二进制特性.IDL语言的英文全称是Interactive Data Language IDL 是一种数据分析和图像化应用程序及编程语言,先由美国ITT公司所有。最初在七十年代后期用于帮助科学家分析火星探险卫星发回的数据,将浩瀚的数据转换为图形。从此后,IDL 得到广泛运用,使用者日众,呈几何级别增长。   IDL 使用者可以迅速且方便地运用此软件将数据转换为图象,促进分析和理解。通过软件转化的图像既可以是简单色彩,也可以是全色三维图像和模型。——它是 COM 所创建的东西。 接口是访问对象的唯一方式;是一种协议、一种约定。 接口的使用方法(C++):pIX-Fx(……); 接口实质上用C++ 虚函数的方式来描述; 接口定义了一组成员函数,这组成员函数是组件对象暴露出来的所有信息,客户程序利用这些函数获得组件对象的服务。 8、为什么COM的设计者要引入IUnknown接口?解释IUnknown接口中的3个重要方法的作用。 答:COM的设计者要引入IUnknown接口的原因:IUnknown接口提供了两个非常重要的特性——生存期控制和接口查询。IUnknown引入了“引用计数”方法,可以有效的控制对象的生存周期。另一方面,IUnknown使用了“接口查询”的方法完成了接口之间的跳转。 COM规范规定任何组件、任何接口都必须从IUnknown继承,IUnknown包含三个函数,分别是 QueryInterface、AddRef、Release。QueryInterface用于查询组件实现的其它接口,说白了也就是看AddRef用于增加引用计数,Release用于减少引用计数。

您可能关注的文档

文档评论(0)

dyzv617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档