中间件综合实验报告 - 杨名扬

中间件综合实验报告 - 杨名扬

ID:42594301

大小:2.86 MB

页数:34页

时间:2019-09-18

中间件综合实验报告 - 杨名扬_第1页
中间件综合实验报告 - 杨名扬_第2页
中间件综合实验报告 - 杨名扬_第3页
中间件综合实验报告 - 杨名扬_第4页
中间件综合实验报告 - 杨名扬_第5页
资源描述:

《中间件综合实验报告 - 杨名扬》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、中南民族大学计算机科学学院中间件原理综合实验报告年级2013级专业班级软件工程1302班指导教师李波姓名序号韩泽林学号201321101054实验类型综合型成绩评定评语:教师签名:年月日2016年月日组号实验室9-204日期  实验名称  《中间件技术原理及应用》实验实验内容分项内容实验级别COM组件对象的设计与应用EJB的设计与应用CORBA中间件实验1 COM组件对象的设计与应用 (一)实验目的 通过对简单COM组件的编写,加深对COM理论知识的理解,为更深层的COM应用及DCOM应用做准备。(二)实验要求具体题目CO

2、M组件对象的设计与应用系统平台Windows7(三)实验原理步骤1、实验原理2、步骤提示一)、建立ATL工程步骤1:建立一个工作区(WorkSpace)。步骤2:在工作区中,新建一个ATL工程(Project)。命名为SimpleCom(如图1),并选择DLL方式(如图2)。说明:⑴DynamicLinkLibrary(DLL)表示建立一个DLL的组件程序。⑵Executable(EXE)表示建立一个EXE的组件程序。⑶Service(EXE)表示建立一个服务程序,系统启动后就会加载并执行的程序。⑷Allowmerging

3、ofproxy/stubcode选择该项表示把“代理/存根”代码合并到组件程序中,否则需要单独编译,单独注册代理存根程序。⑸SupportMFC支持MFC⑹SupportMTS支持事务处理,即是否支持COM+功能。二)、增加ATL对象类步骤3:选择菜单InsertNewATLObjectObject分类SimpleObject项目。见图3。说明:(1)CategoryObject普通组件。其中可以选择的组件对象类型很多,本质上就是让向导帮忙加上一些默认接口。(2)CategoryControlsActiveX控件。其

4、中可以选择的ActiveX类型也很多。(3)CategoryMiscellaneous辅助杂类组件。(4)CategroyDataAccess数据库类组件。步骤4:增加自定义类CMath(接口IMath),见图4。步骤5:填写接口属性,见图5。说明:⑴ThreadingModel选择组件支持的线程模型。⑵Interface接口基本类型。Dual表示支持双接口;Custom表示自定义借口。⑶Aggregation是否允许被别人聚合使用。No表示不聚合。⑷SupportISupportErrorInfo是否支持丰富信息的错误处

5、理接口。⑸SupportConnectionPoints是否支持连接点接口(事件、回调)。⑹FreeThreadedMarshaler三)、添加接口成员函数图说明:[in]表示参数方向是输入;[out]表示参数方向是输出;[out,retval]表示参数方向是输出,同时可以作为函数运算结果的返回值。一个函数中,可以有多个[in]、[out],但[retval]只能有一个,并且要和[out]组合后在最后一个位置。实现代码如下:STDMETHODIMPCMath::Add(longn1,longn2,long*pnVal){/

6、/TODO:Addyourimplementationcodehere*pnVal=n1+n2;returnS_OK;}完成上述步骤后,打开IDL文件(双击IMath接口),手工添加代码,其中UUID每个组件,每个接口都会不同。//引入IUnknown和ATL已经定义的其它接口描述文件。import"oaidl.idl";import"ocidl.idl";//接口的完整描述[object,//表示本块描述的是一个接口uuid(E34275D2-B3CA-4BCA-9AC7-0713ABE2F876),helpstring

7、("IMathInterface"),//说明文字pointer_default(unique)//定义接口函数中参数所使用指针的默认属性]interfaceIMath:IUnknown//接口叫IMathe派生自IUnknown{//接口函数列表[helpstring("methodAdd")]HRESULTAdd([in]longn1,[in]longn2,[out,retval]long*pnVal);};//类型库的完整描述[uuid(FBF0BE44-9E98-4189-809B-BEC4B67866CC),ve

8、rsion(1.0),helpstring("SimpleCom1.0TypeLibrary")]librarySIMPLECOMLib//#import时候的默认命名空间{importlib("stdole32.tlb");importlib("stdole2.tlb");[uuid(9D4F4C3B

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。