- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Com组件技术
COM组件技术
1 COM组件概述 3
2 COM组件实例 3
2.1 VC6.0创建的COM组件及调用过程 3
2.1.1 VC6.0 创建COM组件 3
2.2.2 使用VB6.0调用 7
2.2.3 使用VC6.0调用 9
2.2.4 使用.Net(VB)调用 11
2.2.5 使用.Net(C#)调用 13
2.2 .NET(C#)创建的COM组件及调用过程 15
2.1.1 C# 创建COM组件 15
2.2.2 使用VB6.0调用 20
2.2.3 使用VC6.0调用 22
2.2.4 使用.Net(VB)调用 23
2.2.5 使用.Net(C#)调用 25
3 佳衡电力抄表Com组件 27
1 COM组件概述
COM是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。
:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下;COM组件的特性是与语言平台无关。Private Sub Command1_Click()
Dim obj As COMTestInVC
Set obj = New COMTestInVC 定义一个COMTestInVC对象
Dim num1, num2, num3 As Long 定义变量
num1 = 1
num2 = 2
obj.LAdd num1, num2, num3 函数调用
MsgBox 1+2= num3
End Sub
保存工程,并执行,效果,如下图
2.2.3 使用VC6.0调用
新建“Win32 Console Application”空工程,并命名为“myAddComTest”如下图所示
向工程中添加“MyAddComTest”源文件。(工程----添加到工程----新建)
将生成的“VCCOMTest.dll”拷贝到工程目录和程序生成目录中。添加引用
#include iostream.h
#import VCCOMTest.dll no_namespace
向工程中加入main函数和调用方法。
void main(void)
{
// 声明HRESULT和ICOMTestInVC接口指针
HRESULT hr = S_OK;
long num1=1;
long num2 = 2;
long num3;
CoInitialize(NULL);//NULL换成0也可以
ICOMTestInVCPtr IMyComInVC(__uuidof(COMTestInVC));
IMyComInVC-LAdd(num1,num2,num3);
cout Method1: The answer for 1 + 2 is: num3 endl;//输出结果
cinnum3;//等待
IMyComInVC.Release();
IMyComInVC = NULL;
CoUninitialize();
}
执行结果如下图所示
2.2.4 使用.Net(VB)调用
创建“Windows 窗体应用程序”工程,命名为“InVBDotNETTestCom”,如下图所示
选择项目,添加引用,“COM”,并找到“VCCOMTest”,确认,如下图
向窗体中添加一个“Button”按钮,并将Text设为“VB.NET调用VC写的COM组件”
双击“Button”,为其添加代码
Dim obj As VCCOMTESTLib.COMTestInVC
obj = New VCCOMTESTLib.COMTestInVC 定义一个COMTestInVC对象
Dim num1, num2, num3 As Long 定义变量
num1 = 1
num2 = 2
obj.LAdd(num1, num2, num3) 函数调用
MsgBox(1+2= num3) private void button1_Click(object sender, EventArgs e)
{
//定义COM组件COMTestInVC的对象
VCCOMTESTLib.COMTestInVC comTest = new VCCOMTESTLib.COMTestInVC();
//定义变量
int num1
文档评论(0)