Как разобрать Safearray из C++?
От: vic_mx6_2.5_V6_dohc США http://codeforfood.org
Дата: 05.05.02 20:38
Оценка:
как воспроизвести на 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);
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.