HRESULT MyFunc([out,retval] int *pRet)pRet就是返回值,这时HRESULT不用管他

解决方案 »

  1.   

    vc_boy()
    没有这一行呀?
    我这样做:
    建ATL项目;添加ATL对象;为ITest添加Method;返回值为HRESULT(若为Custom Interface,则返回值类型可改变,但改为其他类型则编译错误,并要求必须返回HRESULT);写函数名、参数。
    此DLL被VB引用,则此Method为Sub。
    怎样实现你那样的语句?使其为VB引用时,此Method为Function?
      

  2.   

    1)VB中需要Function时
    //MIDL定义
    HRESULT MyFunc([in] int value,[out,retval] int *pRet);//VB用法
    dim iRet as Integer
    iRet = myobj.MyFunc2)VB中需要Sub时
    //MIDL定义
    HRESULT MyFunc([in] int value); //有输入参数
    HRESULT MyFunc2(); //无输入参数//VB用法
    myobj.MyFunc 100
    myobj.MyFunc2
      

  3.   

    但像我那样的做法(使用右键菜单及对话框来添加Method),并不出现[in]或[out]呀?需要自己手工输入吗?