帮帮忙啊
编译能通过 不过在别的程序调用的时候 他说类型不对 自动把那个函数屏蔽了

解决方案 »

  1.   

    com接口返回指针有特殊规定,不能使用void*,IUnknown*和IDispatch*是可以的,如果要使用字符串,要使用BSTR,不要用char*。自由线程模型对接口参数类型没有特殊要求,但如果使用套间,只有能被列集的指针才可以传递。OCX都是单线程套间。修改一下你的参数类型吧
      

  2.   

    IUnknown* 我试了一下为什么只能返回空  返回别的都会报错。
    IDispatch* 是什么类型的?
    BSTR 我试了  到了别的程序里的时候他就被认成 CString 了
      

  3.   

    我是在OCX里面定义了一个vector 我想去他的内容, 想返回来一个指针 什么类型的到是都可以
      

  4.   

    IUnknown* 
    IDispatch* 
    定义成这两个的时候 只要不返回NULL 都会报0x00000005的错误  因该是内存访问冲突把 为什么啊?IUnknown* CDateManageCtrl::GetSocketDate()
    {
        return (IUnknown*)(&m_vecDate[0]);
    }m_vecDate 是个vector 现在绝对有值