用VC 写了一个Active X 控件,在定义接口时,自动化接口所提供的数据类型不够用,我需要自定义数据类型
如:我要输出的接口的形参定义如下
//Motion detect
typedef struct _motion_detect
{
WORD MDwin[12] ;
WORD Timing ;
BYTE AlertOut ;
BYTE Sensitivity ;
BYTE MDState ;
BYTE Reverse ;
}MD_SET ;
然后我要在VB里调用这个接口
请问各位,这该如何办呀?
解决问200就是你的

解决方案 »

  1.   

    在*.idl文件或者*.odl文件中定义该结构,参考试一下MSDN中关于ODL,IDL中类型的定义。
      

  2.   

    你在idl文件中定义这个结构。midl处理后会自动映射到相关语言类型。
      

  3.   

    struct里的WORD类型是VB不兼容的,你可以改为long
    然后把这个struct定义加到类型库的定义块里
    定义一个方法,如Test(long* ptrstruct),Test里把ptrstruct强转为MD_SET.
    然后,在VB里
    可以这样:
    Dim s As MD_SET
    ActiveX1.Test s.MDwin(0)
      

  4.   

    很简单,在IDL里面把你的结构定义进去就可以了!
    况且vb不象脚本需要双接口!不仅可以使用结构,枚举,联合都可以的!不过
    定义在结构里面的基本类型vb要能够识别!
      

  5.   

    http://expert.csdn.net/Expert/topic/1326/1326077.xml?temp=.2344324