ActiveX控件里我写了一个接口比如void SetFilePath (BSTR strPath)
{
    //功能代码
}
VC测试的时候没有什么问题,可在VB测试的时候出现类型不匹配,以前写COM的时候BSTR,CString都会在VB里默认为string可是这次写ActiveX搞不清楚为什么不认识此类型,开始以为跟编译器有关系,因为我是在VC2005写的,我用VC6又重新写的可还是一样的结果,不知道有什么好的解决办法,请详细说明一下,谢谢!

解决方案 »

  1.   

    看起来SetFilePath 不像是一个接口方法,因为接口方法通常都是以HRESULT作为返回类型。
    需要提供更多的信息才能判断问题在哪
      

  2.   

    我是在VC2005下选择MFC ActiveX建立的,没有用ATL建立,在接口定义处右键直接加入接口,默认方法在xxxxCtrl类里
    上述只是实现该接口的一个方法!VC调用是成功的!
      

  3.   

    接口定义为dispinterface _DThumbnailsActive
    {
    properties:
    methods: [id(DISPID_ABOUTBOX)] void AboutBox();
    [id(1), helpstring("方法SetFileName")] void SetFileName(BSTR strFile);
    };
      

  4.   

    用VARIANT变体类型,去看下他的属性你就知道该怎么做了。