STDMETHODIMP CClient::IDValidate( BSTR sUserName,
      BSTR sPassword, 
BSTR sIP, 
short nPort, 
BSTR sSystemId,
void* pFunPtr);编译通不过!!提示
type of the parameter cannot derive from void or void * : [ Parameter 'pFunPtr' of Procedure 'IDValidate' ( Interface 'IClient' ) ]我是想传递一个函数指针到COM组件里面去,该怎么设置参数呢??

解决方案 »

  1.   

    没用的,就算传过去了,也用不了,那是相对地址。
    COM和exe式两个独立的进程。
      

  2.   

    COM和EXE应该是同一个进程吧???
      

  3.   

    用VARIANT作参数吧
    VARIANT vt;
    vt.pvRecord = (PVOID)pFunPtr
    STDMETHODIMP CClient::IDValidate( BSTR sUserName,
          BSTR sPassword, 
    BSTR sIP, 
    short nPort, 
    BSTR sSystemId,
    VARIANT  vt);
      

  4.   

    com接口函数只支持com标准的类型,这也是跟com的与开发语言无关的特性决定的。
    你传c下的void*指针,vb端调用的话就不知道是什么类型了