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

CrystalDataObject - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как сделать, чтобы диалоговое окно не закрывалось при нажатии клавиши ENTER? http://www.cyberforum.ru/cpp-beginners/thread470338.html
Как сделать, чтобы диалоговое окно не закрывалось при нажатии клавиши ENTER? (если можно то, код)
C++ libxslt libxml2 - Перекодировка Может кто знает как заставить указанные либы понимать на вход cp1251 и на выход соотвественно??? Из этого я понял что возможно struct xmlCharEncodingHandler { char ... http://www.cyberforum.ru/cpp-beginners/thread470336.html
Низкоуровневое программирование AVI файлов C++
а подскажите линки на ресурсы по 'низкоуровневому' программированию AVI файлов. В частности интересует как определить смещение конкретного фрейма от начала файла.
C++ Определение типа окна
Добрый день! А подскажите пжалста, перебираю контролы чужого окна и мне надо выбрать только поля ввода (Edit). По каким критериям их можно отобрать? Заранее благодарен. С уважением, Роман.
C++ Организация двоичного файла с помощью стандартной библиотеки http://www.cyberforum.ru/cpp-beginners/thread470269.html
Подскажите пожалуйста как мне организовать двоичный файл с помощью стандартной библиотеки. Например, следующий код: ofstream my_file('my_file.dat'); my_file << 1 << 2 << 3; запишит в файл...
C++ Скроллинг изображения Как организовать скроллинг изображения BITMAP при нажатии клавиш-стрелок или при достижении курсорoм краёв екрана? подробнее

Показать сообщение отдельно
black_igor
Сообщений: n/a

CrystalDataObject - C++

22.09.2008, 00:28. Просмотров 467. Ответов 0
Метки (Все метки)

Подскажите пожалуйста, как правильно сформировать и инициализирвать объект CrystalDataObject, т.е. добавление полей (AddField), добавление данных (AddRows) (желательно с примерами кода).
Особенно непонятно использовние функции AddRows. Судя по всему в качестве аргумента должен выступать массив типа SAFAARRAY, но как его правильно создать и передать - непонятно.

Пробовал писать такой код, но вылетает: RunTime Error

ICrystalDataObjectPtr m_Cdo;

hr = CoCreateInstance(CLSID_CrystalDataObject, NULL, CLSCTX_INPROC_SERVER , IID_ICrystalDataObject, (void **) &m_Cdo);
_variant_t vtType((short)8, VT_I2);
_bstr_t strName('id');
m_Cdo->AddField (strName, vtType);

strName=_bstr_t('age');
vtType=_variant_t((short)8, VT_I2);
m_Cdo->AddField (strName, vtType);
SAFEARRAY *pSa;
pSa=SafeArrayCreateVector(VT_I2 , 0, 2);
short* pvData;
SafeArrayAccessData(pSa, (void**)&pvData);
pvData[0]=100;
pvData[1]=200;
SafeArrayUnaccessData(pSa);
VARIANT vt;
VariantInit(&vt);
vt.vt =VT_ARRAY | VT_I2 ;
vt.parray = pSa;
vt.pparray = &pSa;
hr= m_Cdo->AddRows (vt); //получаем RunTime Error
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru