Здравствуйте vic_mx6_2.5_V6_dohc, Вы писали:
VM2VD>вот кусок моего кода — я подготавливаю пустой массив. VM2VD>записываю его в вариант и передаю указатель на этот вариант
Здравствуйте Аноним, Вы писали:
А>поиск почему-то не показал ни одной статьи. даже расширенный
Поиск не работает.
GS
Re[2]: Как разобрать Safearray из C++?
От:
Аноним
Дата:
06.05.02 05:25
Оценка:
Здравствуйте George_Seryakov, Вы писали:
GS>Здравствуйте vic_mx6_2.5_V6_dohc, Вы писали:
VM2VD>>вот кусок моего кода — я подготавливаю пустой массив. VM2VD>>записываю его в вариант и передаю указатель на этот вариант
VM2VD>> pCart->GetShoppingCart(&var);
VM2VD>> VARIANT v_elem; VM2VD>> VariantInit(&v_elem); VM2VD>> v_elem.vt = VT_BSTR; VM2VD>> for(long i=0; i<nCount; i++) VM2VD>> { VM2VD>> SafeArrayGetElement(pSA, &i, &v_elem); VM2VD>> }
GS>Тебе вернется новое значение var и var.parray в нем не будет прежним pSA.
мне и не надо чтоб он был прежним (он пустой был)
почему я не могу прочитать ничего через GetElement?
тип возвращаемого VAR-а 8204 что эквивалентно VT_ARRAY | VT_VARIANT
в варианте должны быть строки однако bstrVal содержит пустоту
(0xcccccccc Bad ptr)
или это изначально неправильный способ чтения массива?
Re[2]: Как разобрать Safearray из C++?
От:
Аноним
Дата:
06.05.02 05:36
Оценка:
Здравствуйте George_Seryakov, Вы писали:
GS>Здравствуйте vic_mx6_2.5_V6_dohc, Вы писали:
VM2VD>>вот кусок моего кода — я подготавливаю пустой массив. VM2VD>>записываю его в вариант и передаю указатель на этот вариант
VM2VD>> pCart->GetShoppingCart(&var);
VM2VD>> VARIANT v_elem; VM2VD>> VariantInit(&v_elem); VM2VD>> v_elem.vt = VT_BSTR; VM2VD>> for(long i=0; i<nCount; i++) VM2VD>> { VM2VD>> SafeArrayGetElement(pSA, &i, &v_elem); VM2VD>> }
GS>Тебе вернется новое значение var и var.parray в нем не будет прежним pSA.
Большое спасибо за наводку!
Создал новый пойнтер на массив. Вот так все работает.