- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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用于减少引用计数。
您可能关注的文档
- 立足农村实际立足教材关注学生.doc
- 立足实际勤学善思.doc
- 立足农村因地制宜的开展社会实践活动.doc
- 立足于雅走出班级特色.doc
- 立足岗位作贡献争先创优当先锋.doc
- 立足岗位,脚踏实地,真抓实干,无私奉献.doc
- 立思辰留学:2017年加拿大乔治亚学院文学学士学位3.doc
- 立足岗位做贡献,安全生产当先锋.doc
- 立足岗位巾帼建功.doc
- 立思辰留学:2017年加拿大渥太华大学管理学院.doc
- 中国农业科学院农业资源与农业区划研究所2024年度公开招聘笔试备考题库及答案详解1套.docx
- 中国城市规划设计研究院2025年度公开招聘笔试模拟试题带答案详解.docx
- 2025年银川市公安局面向宁夏警官职业学院招聘285名警务辅助人员笔试模拟试题及完整答案详解1套.docx
- 2025年衢州市公安局第一期招聘54名警务辅助人员笔试模拟试题含答案详解.docx
- 2025年辽宁沈阳理工大学招聘高层次人才142人笔试模拟试题及答案详解1套.docx
- 中国民航科学技术研究院2024年度面向社会公开招聘工作人员笔试模拟试题及答案详解一套.docx
- 中国地质科学院矿产资源研究所2025年度公开招聘工作人员(第一批)笔试模拟试题及参考答案详解一套.docx
- 中国地质科学院地质力学研究所2024年度社会在职人员公开招聘笔试备考题库及答案详解1套.docx
- 中国疾病预防控制中心2024年度公开招聘学校卫生领域学科带头人笔试备考题库参考答案详解.docx
- 中国热带农业科学院南亚热带作物研究所2025年第二批公开招聘工作人员笔试模拟试题及答案详解一套.docx
文档评论(0)