软件组件技术实验1.doc

上传人:鲁** 文档编号:562059163 上传时间:2023-01-25 格式:DOC 页数:4 大小:28.01KB
返回 下载 相关 举报
软件组件技术实验1.doc_第1页
第1页 / 共4页
软件组件技术实验1.doc_第2页
第2页 / 共4页
软件组件技术实验1.doc_第3页
第3页 / 共4页
软件组件技术实验1.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《软件组件技术实验1.doc》由会员分享,可在线阅读,更多相关《软件组件技术实验1.doc(4页珍藏版)》请在金锄头文库上搜索。

1、7软件组件技术实验指导书实验1 组件的使用实验目的:1 进一步熟练掌握软件开发技术。2 掌握COM组件的注册、查看和使用等过程。3 了解熟悉注册表软件组件使用过程中的作用实验环境:Windows系统平台和C+ Builder开发环境。实验学时: 2学时实验内容:给出一个软件组件,要求根据此说明,进行组件的注册、反注册、查看注册表、查看组件和类型库,并编写程序调用操控组件。要求记录操作的步骤和遇到的问题及解决方法,能够熟练使用组件。并掌握Borland C+ Builder环境下组件的注册、反注册,查看组件和类型库的方法,并用C+ Builder编写客户程序调用实现对所给组件的调用。实验步骤:1

2、 实验前首先下载所给组件并保存。位置可以自己选择,并可尝试给组件取不同名字。2 注册组件方法1:a、 确定待注册文件的位置b、启动windows开始菜单上的”运行”,输入”regsvr32.exe”或者“C:WINDOWSsystem32regsvr32.exe”c、输入待注册的组件的路径和文件名并运行方法2:a、 确定待注册文件的位置b、启动windows开始菜单上的”所有程序|附件|命令提示符”,输入”regsvr32.exe”或者“C:WINDOWSsystem32regsvr32.exe”c、输入待注册的组件的路径和文件名并运行例如:C:WINDOWSsystem32regsvr32.

3、exe C:Documents and SettingsAdmin istrator桌面第二章 newtestcomserver2 MyCOMServer2.dll3 查看注册表步骤:a、启动windows开始菜单上的”运行”,或者按开始键+”R”,输入”regedit”,然后按确定b、然后在启动的程序中确定查找组件的范围,如选中根节点c、打开“编辑”菜单下查找,在对话框中输入要找的组件名并确定d、查看组件的如下信息CLSID、ProgID和 类型库等信息,示例如下:4 组件反注册:a、 确定待注册文件的位置b、启动windows开始菜单上的”运行”,输入”regsvr32.exe”或者“C:

4、WINDOWSsystem32regsvr32.exe u”c、输入待卸载的组件的路径和文件名并运行 示例:C:WINDOWSsystem32regsvr32.exe /u C:Documents and Settings Administrator桌面第二章 newtestcomserver2MyCOMServer2.dlld、再次进入注册表查看相关信息。5 查看类型库 a、 启动C+ Builder,选择“文件 | 打开”或者直接按“打开”按钮或者是相应的快捷键b、选择需要打开的组件文件(以dll为后缀),弹出如下对话框c、查看属性不同属性页的内容,如“Text”等d、熟悉不同按钮的作用6

5、 导入类型库a、在C+ Builder下,创建新的工程,并选择“工程 | 引入类型库”,系统弹出如下页所示对话框b、移动滚动条查看下面文本框的内容及其变化c、加入新的组件,单击”添加”按钮,在弹出的对话框中选择打开要添加的组件文件d、分别单击”Install”按钮和”Create Unit”,查看生成文件的变化,以区分它们的功能。7 组件操作 a、 在C+ Builder下,创建新的工程,选择“文件|新建”,在弹出的对话框中new属性页下选择”Application”,单击”确定”按钮b、 创建新的窗体,选择“文件|新建”,在弹出的对话框中new属性页下选择”Form”,单击”确定”按钮c、

6、在Form上添加按钮,选中窗体后,双击或拖动Standard面板上的“按钮”图标按钮图标d、 双击按钮复制如下代码到函数内,并进行相应的更改,结果与一下类似:/-#include #pragma hdrstop#include Unit1.h #include beepPro_OCX.h/-#pragma package(smart_init)#pragma resource *.dfmTForm1 *Form1;const IID IID_IBeepObj =0xDB6A2409,0x1F5D,0x45A2,0xB4,0x9E,0xCA,0x92,0xE4,0xD0,0x59,0x71;co

7、nst CLSID CLSID_BeepObj =0xD50CCF87,0xFF38,0x4C20,0x9B,0x61,0x5E,0x5E,0x9D,0x5B,0x32,0x8C;/-_fastcall TForm1:TForm1(TComponent* Owner) : TForm(Owner)/-void _fastcall TForm1:Button1Click(TObject *Sender)/ GUIDS defined in the serverHRESULT hr; / COM error codeIbeepServer *IBeep; / pointer to interfac

8、ehr = CoInitialize(0); / initialize COM Four Steps to Client Connectivity if (SUCCEEDED(hr) / macro to check for successhr = CoCreateInstance(CLSID_BeepObj, / COM class idNULL, / outer unknownCLSCTX_INPROC_SERVER, / server INFOIID_IBeepObj, / interface id(void*)&IBeep ); / pointer to interfaceif (SUCCEEDED(hr)hr = IBeep-beepMeth(800); / call the methodhr = IBeep-Release(); / release interfaceCoUninitialize(); / close COM

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号