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

怎么从COM接口返回字符串

2012-01-28 
如何从COM接口返回字符串如题目所示,我想通过COM接口将一个字符串返回,应该使用什么类型的参数?[解决办法]

如何从COM接口返回字符串
如题目所示,我想通过COM接口将一个字符串返回,应该使用什么类型的参数?

[解决办法]
> 但是VB中调用此接口方法,如何去释放内存呢?
call SysFreeString
[解决办法]
搂主,放心大胆的用吧,再不需要的时候,VB回自己释放的。

[解决办法]
对,你说的对,外部调用函数要释放该内存的
在VC中你可以这样调用:
BSTR s1 = ::SysAllocString( L"Hello" );
BSTR s2 = ::SysAllocString( L" world" );
BSTR s3 = NULL;

hr = pFun->Cat( s1, s2, &s3 );
if( SUCCEEDED( hr ) )
{
CString sMsg( s3 );
AfxMessageBox( sMsg );
}

//Cat() 最后一个参数是 [out] 方向属性,因此需要调用者释放
if( s3 ) ::SysFreeString( s3 );

VB也是一样要用::SysFreeString释放之

热点排行