我做ActiveX控件,添加方法的时候需要返回一个void的指针(void *hHandle),但是在返回类型选择里没有void*来选,只有void,但如果返回类型选择void,那我的方法里就不能用return来返回一个值。这里我该定义一个怎样的返回类型呢?

解决方案 »

  1.   

    honker110(honker) :
       能说详细点么? 
       你是说自己定义类型?
       我是初学者,很多东西不懂,能指点指点么?
      

  2.   

    还是不行.我的问题是这样的: 要在ActiveX控件里添加一个方法:
    HV_HANDLE Open( char *cc )
    {
        return OpenHandle( char *cc ); 
    }
    其中
    HV_HANDLE OpenHandle( char *cc ) 是一个DLL的输出函数,
    而类型 HV_HANDLE 是这样定的:typedef void * HV_HANDLE;
      

  3.   

    VARIANT *
    没有这个类型啊.
    各位能给一个详细的答案么?
      

  4.   

    加上个这样的方法呀
    [helpstring("Open")] 
    HRESULT Open([in] VARIANT cc, [out,retval] VARIANT* vResult);
    传入时cc.bstrVal=SysAllocString("...");
    结果由VARIANT带回.
    结果使用VARIANT的LPVOID
      

  5.   

    用long就可以,你强行转换一下
    return (long)OpenHandle( char *cc ); 在调用的地方再转回去:
    HV_HANDLE h = (HV_HANDLE)aa.Open(str);