Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++: COM, OLE, ActiveX

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

Bad SAFEARRAY - C++ COM

18.05.2016, 16:38. Просмотров 390. Ответов 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;
}
0
Миниатюры
Bad SAFEARRAY  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2016, 16:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Bad SAFEARRAY (C++ COM):

Получить указатель на данные, хранящиеся в SafeArray (не на сам SafeArray) - C++ COM
Есть некий SafeArray, о котором заранее известно, что это одномерный массив байт. То есть структура его проста и неизменна. Надеюсь, это...

COM: SAFEARRAY добавление элементов - C++ COM
День добрый. Перерыл множество ресурсов в поисках ответа на мой вопрос, но всё тщетно. Существует функция, в ней 4 типа данных: int,...

При запуске windows выдаёт разные ошибку типо netio.sys, bad pool header, bad system config info - BSOD
Всем привет форумчане! И так ближе к проблеме при установке виндовс 10 установка идёт нормально, но потом запускается виндовс и я ...

HDD BAD& SMART BAD - Ноутбуки
Пршли на ремонт 3 ноута все в разное время от разных людей один из них нетбук с обычным жестким не SSD. Так вот на первом ноуте ошибка...

Уничтожение SafeArray в Delphi XE - Delphi
Всем привет. Я перешел с Delphi 7 на Delphi XE4. В седьмой версии при создании элементов типа PSafeArray необходимо было самому следить за...

Как сделать SafeArray (MFC)? - Visual C++
Сабж, как используя MFC создать SafeArray и сделать метод который принимая их контейнера массив вариантов и пихал его в SafeArray (размеры...

4
vxg
Модератор
3188 / 1991 / 228
Регистрация: 13.01.2012
Сообщений: 7,713
18.05.2016, 19:23 #2
Nindzzya, может поможет Импорт диапазона из Excel в вариантный массив
0
Nindzzya
7 / 7 / 2
Регистрация: 18.03.2012
Сообщений: 39
18.05.2016, 22:35  [ТС] #3
не получается. Имеется одно измерение и два элемента. как получить не знаю
0
vxg
Модератор
3188 / 1991 / 228
Регистрация: 13.01.2012
Сообщений: 7,713
19.05.2016, 06:54 #4
Nindzzya, вы смотрели пост? Вы не можете адаптировать его под ваше количество измерений и элементов?
0
Nindzzya
7 / 7 / 2
Регистрация: 18.03.2012
Сообщений: 39
19.05.2016, 07:29  [ТС] #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;
}
1
19.05.2016, 07:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2016, 07:29
Привет! Вот еще темы с ответами:

Массив представить в виде SAFEARRAY - PHP
Вот такой массив $tak = array(0,0,1,0,1,0,0,0,1,1); Научите, пожалуйста, как представить это в виде SAFEARRAY (VT_ARRAY|VT_R8). ...

Преобразование динамического байтового массива в SafeArray - Delphi
Здравствуйте товарищи! В общем такая проблема, есть рабочая функция, которая преобразовывает байтовые массивы в PSafeArray. Но она работает...

Как при пользовании COM - объектов работать с типом обявленым как SafeArray? - C# ASP.NET
Как при пользовании COM - объектов работать с типом обявленым как SafeArray?

bad WD5000BEVT - Жесткие диски
Друзья, такая вигня, в один прекрасТный момент перестала грузиться система, причём нежданно негаданно.... После того как девушка села за...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.