Здравствуйте уважаемые эксперты! Для работы с серверами COM требуются вариантные типы, а у меня не получаются преобразования в VARIANT ни одного встроенного типа (LPCTSTR, BSTR, и т.д.). На код вроде (VARIANT)тип или VARIANT(тип) VC7.1 ругается о невозможности приведения... Как это правильно сделать, или где можно что-то ещё почитать по этой теме (по-русски)? Заранее благодарен, Nic
Доброе время суток, Nic! VARIANT - это структура, содержащая в себе поле типа данных и сами данные. Работаем с ним примерно так: VARIANT VariantVariable; V_VT(&VariantVariable) = VT_I4; V_I4(&VariantVariable) = 1000; Подробнее читай в MSDN.
Ответ отправлен: 29.11.2003, 19:18 Отправитель: Gibbel Отвечает chebv
Ответ отправлен: 01.12.2003, 08:44 Отправитель: chebv Отвечает Avl2k
Здравствуйте, Nic! VARIANT - это просто WinAPI-структура, поэтому преобразования и не получаются. Если Вы используете VC++, то лучше пользоваться C++-обертками _variant_t, _bstr_t и др. (лежат в comdef.h). Пример: _variant_t v1 = "tttt"; _variant_t v2 = true; VARIANT v = v1; С уважением, Avl2k. Ответ отправлен: 01.12.2003, 14:11 Отправитель: Avl2k
Вопрос № 1278
Доброе время суток в продолжении вопроса 1271(в приложении) > Отвечает Avl2k > #import "C:Program FilesMicrosoft OfficeOfficeMSO9.DLL" > #import "C:Program FilesCommon FilesMicrosoft SharedVBAVBA6VBE6EXT.OLB" > #import "C:Program FilesMicrosoft OfficeOfficeExcel9.olb" rename("DialogBox", "_DialogBox") rename("RGB", "_RGB") а если у меня нет таких файлов(windows и office XP)? что подключать по такой конфигурации ?
Доброе время суток, vova! Надо найти библиотеку типов Excel (если установлен Excel, то обычно лежит в Program Files\Microsoft Office\Office и называется Excel<цифра>.olb, где <цифра> - номер версии). Можно также посмотреть Ole/COM Object Viewer (входит в поставку VS) куда указывает Microsoft Excel <цифра> Object Library (искать в ветке Type Libraries по алфавиту). После того, как нашли библиотеку типов, включите ее с помощью #import в файл и запустите компиляцию. При компиляции файла будет сгенерирован .tlh файл. В самом его начале будут закомментированы директивы включения необходимых зависимых библиотек. С уважением, Avl2k. Ответ отправлен: 01.12.2003, 13:24 Отправитель: Avl2k
Вопрос № 1279
Здравствуйте уважаемые эксперты! Как узнать адрес функций?
Здравствуйте, xxx! Если я не ошибаюсь, имя функции - это как раз и есть ее адрес. int aaa() { ... } ... long a; a = (long)aaa; printf("%x %x",aaa,a); ... Ответ отправлен: 01.12.2003, 14:34 Отправитель: chebv
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.