从VARIANT里提取字符串数组

        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);
...