读书人

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

发布时间: 2012-02-28 13:06:35 作者: rapoo

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)

读书人网 >VB

热点推荐