假设用vb编写了一个ActiveX 组件,名称为BioxSend,里面生成一个类Test,类里面有一个方法Hello(),并且已经在电脑上注册,下面分别描述怎样在VB和vc中调用。
1. VB调用
(1) 方法1:直接在project/reference里引用该DLL,然后在使用时声明就可以了,代码如下:
dim aa as new Test
aa.Hello
set aa=nothing
(2) 方法2:直接定义为object,代码如下:
Dim MyObj As Object
Set MyObj = CreateObject ( " BioxSend.Test" )
myObj.Hello
Set MyObj = Nothing
2. vc调用
由于vb生成的组件不是标准的com组件,所以不能像调用vc生成的组件那样,需要一些特别的处理,还有生成的接口的名称实际被定义为“_Test”,这个千万要注意,实现方法如下:
方法一,利用CoCreateInstance
(1) 首先引用该组件
#import "G:/program/bin/12Lead/bioxsend.dll" no_namespace
(2) 创建组件对象并使用
HRESULT hresult;
CLSID clsid;
//初始化COM接口
CoInitialize(NULL);
//得到组件的CLSID
hresult