Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C/C++ C++ builder и MathCAD Всем привет! Подскажите, пожалуйста, новичку, как получить доступ через C++ builder к MathCAD, его графикам и данным? Необходимо на форме отображать графики из Маткада. Данные переменных из Маткада отправить в другое приложение либо выгрузить в txt файл. https://www.cyberforum.ru/ c-cpp/ thread2778334.html C/C++ StartMenu rectangle
Нужно взять хендл на StartMenu Windows10. Или хотябы получить ректангл отонсительно экрана.
C/C++ Где найти заголовки <afxodlgs.h>? https://www.cyberforum.ru/ c-cpp/ thread2711073.html
Добрый день. Хочу добавить системный диалог "Вставить объект". Нашел в MSDN описание класса COleInsertDialog. Однако требуется заголовок <afxodlgs.h>. Перерыл все, не нашел. Кто располагает информацией подскажите где может быть, на каких ресурсах найти (.h .lib .dll) afxodlgs.h. И если кто хочет может скинуть исходники реализации вызова данного диалога и работой с Microsoft Equantion. Заранее...
C/C++ SafeArrayGetElement - вызывает утечку памяти Здравствуйте, Подскажите пожалуйста, не могу понять, куда исчезает память: int main() { for(int i=0; i<1000; i++) { https://www.cyberforum.ru/ c-cpp/ thread2708394.html
Что делает CoLockObjectExternal? C/C++
На MSDN описание совершенно непонятное. А Don Box вообще описывает это совершенно по-другому(и тоже непонятно). Опираясь на описание из MSDN, я не понимаю, чем это отличается от AddRef. А уж тем более, как эта функция может каким-то волшебным образом "залочить" объект. Добавлено через 1 час 14 минут Если используете у себя эту функцию, прошу поделиться, для чего используете. Очень...
C/C++ Как выгрузить ранее заинжекченную длл? https://www.cyberforum.ru/ c-cpp/ thread2695285.html
Использую дефолтный метод инжекта - LL. Так как эту дллку видно через process hacker, мне надо сделать так, чтобы можно было выгрузить эту дллку в случае необходимости. Код инжекта ниже wHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId); LoadLibraryAdd = (LPVOID)GetProcAddress(GetModuleHandle(L"kernel32.dll"), "LoadLibraryA"); RND = (LPVOID)VirtualAllocEx(wHandle, NULL,...
C/C++ Как открыть файл Excel (sdkxll)? Добрый день. Может ли кто подсказать как открыть файл Excel при помощи функций Microsoft sdk xll? https://www.cyberforum.ru/ c-cpp/ thread2693194.html Отследить события Excel C++ C/C++
Мое почтение, джентльмены. Стоит задача отследить события: открытия нового файла, сохранения файла (до/после) в Excel. Пока в этом не спец. Собрал код из разных источников сети. В Word отрабатывает, в Excel вызываются TranslateMessage(&msg); DispatchMessage(&msg); и тишина. Вопрос, что делаю неправильно, а возможно так - что правильно или все в топку? Возможно ли узнать какая книга...
C/C++ ATL: Как вызывать события ConnectionPoint https://www.cyberforum.ru/ c-cpp/ thread2677363.html
Желаю не болеть коронавирусом всем! Создал ATL проект в VS, создал SimpleObject (рисовать COM-сервер ничего не должен, только предоставлять клиенту объекты и позволять навешивать свои обработчики событий), пометил галочкой пункт про поддержку ConnectionPoint. Создалось два интерфейса - для объекта и для событий которые, как я понимаю, он может вызывать на клиенте. Название второго интерфейса...
C/C++ VARENUM to String Чёт запутался. Согласно мелкософтовому сайту Имеем "сплошной", без разрывов enum: typedef enum VARENUM { VT_EMPTY, VT_NULL, VT_I2, VT_I4, VT_R4, https://www.cyberforum.ru/ c-cpp/ thread2672432.html
C/C++ Правильное использование CoInitializeEx() и CoUninitialize()
Суть в том, что пишу либу (для себя - изучить, а если понравится, то пересяду на неё из дельфёвских древних и стороних компонент) - интерфейс ко многим связанным UUID. Пока однопоток, но т.к. эта технология поддерживает асинхронный ввод-вывод данных, то возможен в будущем многопоток. Пока набивается костяк над IDL озадачился а сколько раз в проге можно вызывать CoInitializeEx() и должны ли...
C/C++ Можно ли менять шрифты в Word-е с помощью программы, написанной на С++? Подскажите пожалуйста, можно ли как-то менять шрифты в ворде с помощью программы написанной на С++ и если можно, то как это реализовать? https://www.cyberforum.ru/ c-cpp/ thread2653498.html
136 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,894
0

Достать элемент из Variant массива из одного элемента - C/C++ - Ответ 15304524

03.03.2021, 15:14. Показов 18905. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте,

Поля дня бьюсь не могу понять:

У меня есть Вариантный массив из одного элемента:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
VARIANT arr;
arr.vt = VT_ARRAY | VT_VARIANT;
{
SAFEARRAYBOUND sab[2];
 
arr.parray = SafeArrayCreate(VT_VARIANT, 2, sab);
}
 
AutoWrap(DISPATCH_PROPERTYGET, &arr, pXlRange, (LPOLESTR)L"Value", 0); //Читаем данные из только одной екселевской ячейки
 
//Теперь в arr - есть точно один элемент.
 
//Теперь я хочу достать этот один элемент.
 
VARIANT v;
VariantInit(&v); // переменная куда будем записывать элемент из массива arr по индексу (1,1) - то есть самый первый элемент
 
//--------------------------------------------------------------------------------------------------------------------------------------------------
 
long index_[2] = {1, 1 }; 
 
SafeArrayGetElement(arr.parray, index_, &v); // получим указанный элемент в переменную v по индексу элемента index_
Но после выполнения SafeArrayGetElement, v - все равно пустая. Если в arr - минимум 2 элемента, то проблем нет.

Я где то с размерностями в SAFEARRAYBOUND или SafeArrayCreate - накосячил ?

Добавлено через 12 минут
SafeArrayGetElement возвращает:
C++
1
E_INVALIDARG     Один из аргументов неверен.
Но не пойму, какой может быть не верный.

Вернуться к обсуждению:
Достать элемент из Variant массива из одного элемента C/C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2021, 15:14
Готовые ответы и решения:

Когда элемент одного массива больше элемента другого массива, то тот элемент что больше расскладывается на меньшие элементы
ребят не могу подобрать алгоритм ,такой что когда елемент одного массива больше елемента другого...

Записать два элемента одного массива, как один элемент другого
Здравствуйте) есть такое задание: нужно составить таблицу истинности(дискретная математика). И в...

Достать данные из variant
Здравствуйте! Использую visual c++ 2010 + QtCreator. Пытаюсь извлечь данные из wmi класса...

Boost::variant достать значение
class parser { public: struct DATA { uint8_t vtype; struct st0 { float val0,...

2
03.03.2021, 15:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2021, 15:14
Помогаю со студенческими работами здесь

Как проверять элемент массива Variant на тип?
Как проверять элемент массива Variant на тип (числовой или строковый)? Нижеследующий код выдает...

Первый элемент Variant массива интерпретатор видит как пустой
Доброго времени суток! У меня есть массив: Activities, который я объявляю в Module 1: Public...

При клике на элемент одного массива изменить элемент другого массива с таким же индексом
Привет друзья. Возник вопрос. Есть такая разметка: &lt;section&gt; &lt;div class=&quot;mass-1&quot;&gt;&lt;/div&gt;...

Даны два массива. Как перенести один/два элемента из одного в другой, и чтобы при переносе выбранный элемент удалился?
К примеру: переносим &quot;Деда&quot; из arr в arr1, при этом он должен удалится в arr и появится в arr1....

Получить новый массив B, каждый элемент которого равен сумме соответствующего элемента массива А и минимального элемента массива А
1) Дан одномерный массив А. Получить новый массив B, каждый элемент которого равен сумме...

Получить новый массив B, каждый элемент которого равен сумме соответствующего элемента массива А и минимального элемента массива А
1) Дан одномерный массив А. Получить новый массив B, каждый элемент которого равен сумме...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru