好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软件组件技术实验1.doc

4页
  • 卖家[上传人]:鲁**
  • 文档编号:544319331
  • 上传时间:2023-10-25
  • 文档格式:DOC
  • 文档大小:28.02KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 7软件组件技术实验指导书实验1 组件的使用实验目的:1. 进一步熟练掌握软件开发技术2. 掌握COM组件的注册、查看和使用等过程3. 了解熟悉注册表软件组件使用过程中的作用实验环境:Windows系统平台和C++ Builder开发环境实验学时: 2学时实验内容:给出一个软件组件,要求根据此说明,进行组件的注册、反注册、查看注册表、查看组件和类型库,并编写程序调用操控组件要求记录操作的步骤和遇到的问题及解决方法,能够熟练使用组件并掌握Borland C++ Builder环境下组件的注册、反注册,查看组件和类型库的方法,并用C++ Builder编写客户程序调用实现对所给组件的调用实验步骤:1. 实验前首先下载所给组件并保存位置可以自己选择,并可尝试给组件取不同名字2. 注册组件方法1:a、 确定待注册文件的位置b、启动windows开始菜单上的”运行”,输入”regsvr32.exe”或者“C:\WINDOWS\system32\regsvr32.exe”c、输入待注册的组件的路径和文件名并运行方法2:a、 确定待注册文件的位置b、启动windows开始菜单上的”所有程序|附件|命令提示符”,输入”regsvr32.exe”或者“C:\WINDOWS\system32\regsvr32.exe”c、输入待注册的组件的路径和文件名并运行例如:C:\WINDOWS\system32\regsvr32.exe "C:\Documents and Settings\Admin istrator\桌面\第二章 new\testcomserver2\ MyCOMServer2.dll"3. 查看注册表步骤:a、启动windows开始菜单上的”运行”,或者按开始键+”R”,输入”regedit”,然后按确定b、然后在启动的程序中确定查找组件的范围,如选中根节点c、打开“编辑”菜单下查找,在对话框中输入要找的组件名并确定d、查看组件的如下信息CLSID、ProgID和 类型库等信息,示例如下:4. 组件反注册:a、 确定待注册文件的位置b、启动windows开始菜单上的”运行”,输入”regsvr32.exe”或者“C:\WINDOWS\system32\regsvr32.exe \u”c、输入待卸载的组件的路径和文件名并运行 示例:C:\WINDOWS\system32\regsvr32.exe /u "C:\Documents and Settings\ Administrator\桌面\第二章 new\testcomserver2\MyCOMServer2.dll"d、再次进入注册表查看相关信息。

      5. 查看类型库 a、 启动C++ Builder,选择“文件 | 打开”或者直接按“打开”按钮或者是相应的快捷键b、选择需要打开的组件文件(以dll为后缀),弹出如下对话框c、查看属性不同属性页的内容,如“Text”等d、熟悉不同按钮的作用6. 导入类型库a、在C++ Builder下,创建新的工程,并选择“工程 | 引入类型库”,系统弹出如下页所示对话框b、移动滚动条查看下面文本框的内容及其变化c、加入新的组件,单击”添加”按钮,在弹出的对话框中选择打开要添加的组件文件d、分别单击”Install”按钮和”Create Unit”,查看生成文件的变化,以区分它们的功能7. 组件操作 a、 在C++ Builder下,创建新的工程,选择“文件|新建”,在弹出的对话框中new属性页下选择”Application”,单击”确定”按钮b、 创建新的窗体,选择“文件|新建”,在弹出的对话框中new属性页下选择”Form”,单击”确定”按钮c、 在Form上添加按钮,选中窗体后,双击或拖动Standard面板上的“按钮”图标按钮图标d、 双击按钮复制如下代码到函数内,并进行相应的更改,结果与一下类似://---------------------------------------------------------------------------#include #pragma hdrstop#include "Unit1.h" #include "beepPro_OCX.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;const IID IID_IBeepObj ={0xDB6A2409,0x1F5D,0x45A2,{0xB4,0x9E,0xCA,0x92,0xE4,0xD0,0x59,0x71}};const 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 interfacehr = CoInitialize(0); // initialize COM Four Steps to Client Connectivity if (SUCCEEDED(hr)) // macro to check for success{hr = 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 interface}}CoUninitialize(); // close COM}。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.