Как разобрать Safearray из C++?
как воспроизвести на C++ разборку Визуал Бейсиковскго массива,
возвращаемого com-объектом?
вот кусок моего кода — я подготавливаю пустой массив.
записываю его в вариант и передаю указатель на этот вариант
// Make a safe array
SAFEARRAY *pSA = NULL;
SAFEARRAYBOUND bound[1];
bound[0].lLbound = 0;
bound[0].cElements = nCount;
pSA = SafeArrayCreate(VT_BSTR, 1, bound);
// Pack array into VARIANT
VARIANT var;
VariantInit(&var);
var.vt = VT_ARRAY | VT_BSTR;
var.parray = pSA;
pCart->GetShoppingCart(&var);
VARIANT v_elem;
VariantInit(&v_elem);
v_elem.vt = VT_BSTR;
for(long i=0; i<nCount; i++)
{
SafeArrayGetElement(pSA, &i, &v_elem);
}
Пока на собственное сообщение не было ответов, его можно удалить.