佚名通过本文主要向大家介绍了cstringarray数组,cstringarray,cstringarray用法,cstringarray初始化,vc cstringarray等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: com中怎么传递数组,例如:CStringArray,或者结构体?
描述:
解决方案1:
描述:
服务器函数
get_array(VARIANT *pVal)
{
CStringArray aaray;
aaray.Add("bb");
Val.vt=VT_ARRAY|VT_BSTR;
Val.parray=(SAFEARRAY*)&aaray;
return S_OK;
}
客户端函数
CStringArray aaray;
VARIANT pval;
pval.vt=VT_ARRAY|VT_BSTR;
pICommuni->get_array(&pval);
aaray=(CStringArray)pval.parray;
得不到该数组。为什么?
解决方案1:
用SAFEARRAY传递
解决方案2: Using a Multidimensional SAFEARRAY to pass data across from COM objects
http://www.codeguru.com/Cpp/COM-Tech/activex/com/article.php/c2575/
CStringArray 不行,得用SAFEARRAY来传递。
当然,你处理时可以使用COleSafeArray来包装。