Форум программистов, компьютерный форум CyberForum.ru

C++: COM, OLE, ActiveX

Войти
Регистрация
Восстановить пароль
 
Nindzzya
7 / 7 / 2
Регистрация: 18.03.2012
Сообщений: 36
#1

Bad SAFEARRAY - C++ COM

18.05.2016, 16:38. Просмотров 358. Ответов 4
Метки нет (Все метки)

Создаю функцию которая получает данные из объекта типа _variant_t, мне нужно получить из него 2 значения типа double. Я плохо знаю SAFEARRAY, и у меня получилось получать только одно значение, как получить второе я не понимаю на скриншоте видно что объект хранит 2 значения. Как их получить?
C++
1
2
3
4
5
6
7
8
9
double GetValue_2(_variant_t x){
 
    SAFEARRAY *safe = x.parray;
    VARIANT *values = (VARIANT *)safe->pvData;
    
    auto fetch = values[0].dblVal; \\ возвращает 590.0
 
    return fetch;
}
Миниатюры
Bad SAFEARRAY  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2016, 16:38     Bad SAFEARRAY
Посмотрите здесь:

HDD BAD& SMART BAD
Как сделать SafeArray (MFC)? Visual C++
C# ASP.NET Как при пользовании COM - объектов работать с типом обявленым как SafeArray?
bad WD5000BEVT
Преобразование динамического байтового массива в SafeArray Delphi
Уничтожение SafeArray в Delphi XE Delphi
Получить указатель на данные, хранящиеся в SafeArray (не на сам SafeArray) C++ COM
PHP Массив представить в виде SAFEARRAY
Bad Smart
COM: SAFEARRAY добавление элементов C++ COM
Bad header=<br /> PHP
BSOD При запуске windows выдаёт разные ошибку типо netio.sys, bad pool header, bad system config info

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3016 / 1818 / 188
Регистрация: 13.01.2012
Сообщений: 6,890
18.05.2016, 19:23     Bad SAFEARRAY #2
Nindzzya, может поможет Импорт диапазона из Excel в вариантный массив
Nindzzya
7 / 7 / 2
Регистрация: 18.03.2012
Сообщений: 36
18.05.2016, 22:35  [ТС]     Bad SAFEARRAY #3
не получается. Имеется одно измерение и два элемента. как получить не знаю
vxg
Модератор
3016 / 1818 / 188
Регистрация: 13.01.2012
Сообщений: 6,890
19.05.2016, 06:54     Bad SAFEARRAY #4
Nindzzya, вы смотрели пост? Вы не можете адаптировать его под ваше количество измерений и элементов?
Nindzzya
7 / 7 / 2
Регистрация: 18.03.2012
Сообщений: 36
19.05.2016, 07:29  [ТС]     Bad SAFEARRAY #5
vxg, этот пост мне не помог. Нашел решение по другому.
C++
1
2
3
4
5
6
7
8
array<double, 2> GetValue_2(_variant_t x){
 
    array<double, 2> temp;
    temp[0] = (((double*)(x.parray->pvData))[0]);
    temp[1] = (((double*)(x.parray->pvData))[1]);
 
    return temp;
}
Yandex
Объявления
19.05.2016, 07:29     Bad SAFEARRAY
Ответ Создать тему
Опции темы

Текущее время: 08:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru