А как в VC++ пользоваться COM-объектами?

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

А как в VC++ пользоваться COM-объектами?

Сообщение tyomitch » 26.11.2006 (Вс) 12:06

Нужно, наверное, как-то импортировать нужные TLB, чтобы сгенерировались нужные объекты-обёртки?
Какие кнопки мне жать? :-)

[добавка]
Добавил #import -- не помогло, говорит "error C2079: 'foo' uses undefined struct" на объявление объекта с типом, объявленным в TLB.
Что не так?
[/добавка]
Изображение

_ae_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 165
Зарегистрирован: 08.10.2006 (Вс) 14:37

Сообщение _ae_ » 26.11.2006 (Вс) 12:43

#import "tlb" rename_namespace("XXX")
using namespace XXX;

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 26.11.2006 (Вс) 13:35

Ага, до этого я уже и сам догадался.
А дальше?
Изображение

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 26.11.2006 (Вс) 13:47

tyomitch
Декомпилить через OLE View TLB, после чего подправив IDL (убрать library *** {) скормить MIDL. Получишь .h файл с описаниями всех интерфейсов.
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 26.11.2006 (Вс) 13:52

Нет, оставил с #import
Вроде разобрался до конца, всё работает.
Ура.
Изображение

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 26.11.2006 (Вс) 14:57

Ну, так напиши сюда решение уж...
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 26.11.2006 (Вс) 15:28

Изображение


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 130

    TopList