首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vc atl dll怎么向vb程序返回字符串结果

2012-02-28 
vc atl dll如何向vb程序返回字符串结果?我写一个vcatldll,里面有一个函数STDMETHODIMPCATLDll::BSTRRefTes

vc atl dll如何向vb程序返回字符串结果?
我写一个vc   atl   dll,里面有一个函数
STDMETHODIMP   CATLDll::BSTRRefTest(BSTR   *tempStr)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
//   TODO:   Add   your   implementation   code   here

CString   s   =   *tempStr;
s   =   s   +   s;
BSTR   tbstr   =   s.AllocSysString();
tempStr   =   &tbstr;
return   S_OK;
}

编译注册ATLDll后在vb中调用
        Dim   VcDll   As   ATLDllLib.XXXX
        Set   VcDll   =   New   XXXX
       
        Dim   s   As   String
        s   =   "abcd "
        VcDll.BSTRRefTest   s '这里系统报错
        MsgBox   "s   = "   &   s
结果运行到“VcDll.BSTRRefTest   s”一句vb报错“Compile   error:Wrong   number   of   arguments   or   invalid   property   assignment”
什么原因,如何实现vb向atl   dll输入并返回字符串呢?谢谢!

[解决办法]
STDMETHODIMP CATLDll::BSTRRefTest(BSTR *tempStr)
要改:
STDMETHODIMP CATLDll::BSTRRefTest(BSTR tempStr)

热点排行