COM组件返回传出一个字符串
接口中的声明:
interface ITxQuest : IDispatch
{
[id(1), helpstring("method TestFun")] HRESULT TestFun([in]BSTR bstr,[out,retval]BSTR* pbstr);
};
类头文件中的声明.h
// ITxQuest
public:
STDMETHOD(TestFun)(BSTR bstr,BSTR* pbstr);
CPP文件中的实例
HRESULT CTxQuest::TestFun(BSTR bstr,BSTR* pbstr)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
// TODO: Add your implementation code here
SysAllocString(L"Test");
AfxMessageBox(bstr);
return S_OK;
}
VBS中的调用方法
Dim obj
Dim a,b
Set obj = CreateObject("TxQuestCom.TxQuest.1")
b = obj.TestFun(a)
MsgBox b