1 COM 组件概述....................................................................................................... 2
2 COM 组件实例....................................................................................................... 2
2.1 VC6.0 创建的 COM 组件及调用过程............................................................2
2.1.1 VC6.0 创建 COM 组件.........................................................................2
2.2.2 使用 VB6.0 调用...................................................................................6
2.2.3 使用 VC6.0 调用...................................................................................8
2.2.4 使用.Net(VB)调用......................................................................... 10
2.2.5 使用.Net(C#)调用..........................................................................12
2.2 .NET(C#)创建的 COM 组件及调用过程..................................................... 14
2.1.1 C# 创建 COM 组件.............................................................................14
2.2.2 使用 VB6.0 调用.................................................................................19
2.2.3 使用 VC6.0 调用.................................................................................21
2.2.4 使用.Net(VB)调用......................................................................... 22
2.2.5 使用.Net(C#)调用..........................................................................24
3 佳衡电力抄表 Com 组件.......................................................... 错误!未定义书签。
1 COM 组件概述
COM 是微 软公司为 了计算机 工业的软 件生产更 加符合人 类的行 为方式开 发的一
种新的软件开发技术。在 COM 构架下,人们可以开发出各种各样的功能专一的组件,
然后将它们按照需要组合起来,构成复杂的应用系统。
COM 组件 的优点:①可以 将系统中 的组件用 新的替换 掉,以便 随时进行 系统的
升级和定制;②可以在多个应用系统中重复利用同一个组件;③可以方便的将应用系
统扩展到网络环境下;④COM 组件的特性是与语言无关和与平台无关。因此,一经
开发便可以使用不同的高级语言和开发工具调用。并且,客源在此 COM 组件基础进
行二次开发。
2 COM 组件实例
2.1 VC6.0 创建的 COM 组件及调用过程
本部分将使用 VC6.0 创建 COM 组件。并介绍如何在 VC6.0、VB6.0、VB.NET、C#中调用
该 COM 组件。
2.1.1 VC6.0 创建 COM 组件
1、在 VC 中新建“ATL COM AppWizard”工程,工程名称为“VCCOMTest”,并确认。
2、在服务器类型中,选择“动态链接库(DLL)”,完成
3、选择菜单栏“插入”“ATL 对象”,选择“Simple Object”,点击“Next”
4、在上面 C++“Short Name”后输入“COMTestInVC”,将会自动填充其余选项。Attributes
部分按默认设置。如下图
点开 VC 工程左边的“Class View”,此时会看到系统已经建立“CCOMTestInVC”类和
“ICOMTestInVC”接口。如图
5、右击“ICOMTestInVC”接口,选择“Add Method”,添加如下方法
方法:LAdd
参数:[in] long num1,[in] long num2,[out] long * num3
6、方法实现。选择 LAdd 方法
其默认代码为
在该方法中添加代码:
*num3=num1+num2;
7、编译 COM 组件,VC6.0 中会自动注册 COM 组件。
2.2.2 使用 VB6.0 调用
1、VB6.0 中新建“标准 EXE”工程,
2、在 Form1 中加入一个 CommandButton ,并将其 Caption 属性设为:调用 VC 写的 COM
组件。
3、在工程,“引用”中选择“VCCOMTest”组件,如下图
4、双击 CommandButton 按钮,添加如下代码
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
5、保存工程,并执行,效果,如下图
'函数调用
2.2.3 使用 VC6.0 调用
1、新建“Win32 Console Application”空工程,并命名为“myAddComTest”如下图所示