VARIANT pvarRet;
if(S_OK == pIHTMLWindow->execScript(CComBSTR(js_str), CComBSTR("JavaScript"), &pvarRet))
{
if (pvarRet.vt == VT_ARRAY | VT_BSTR )
{
//此处如何提取字符串数组
}
}
pIHTMLWindow->Release();
昨天百度了半天 精疲力竭 实在解决不了了 求各位大师帮忙
google 搜素下,VC++ com VARIANT array string
第一个结果
http://stackoverflow.com/questions/2359065/a-simple-way-to-convert-to-from-variant-types-in-c
就是。
谁让你用垃圾山寨百度的。
// parameter validation and error checking omitted for clarity
template<typename T>
void FromVariant(VARIANT Var, std::vector<T>& Vec)
{
CComSafeArray<T> SafeArray;
SafeArray.Attach(Var.parray);
ULONG Count = SafeArray.GetCount();
Vec.resize(Count);
for(ULONG Index = 0; Index < Count; Index++)
{
Vec[Index] = SafeArray[Index];
}
}
....
std::vector<double> Vec;
VARIANT Var = ...;
FromVariant(Var, Vec);
...