MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« : 04-10-2004 06:29 » |
|
Попросили тут одну вещь сделать, только я не совсем понял что надо.
Есть какой-то OCX (полностью написаный на MFC) , просят написать на ATL класс wrapper для этого OCX, который экспоузит все эвенты этого OCX.
Куда копать то ?
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Pu
Большой босс
Offline
78
|
|
« Ответ #1 : 04-10-2004 09:47 » |
|
MOPO3, OCX - это компонент ActiveX, тот жа dll , только расширение .ocx. разница только в названии и не более. Вот и получается - копать надо в сторону ActiveX компонентов.
|
|
|
Записан
|
Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать. (с) Артур Джонс
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #2 : 04-10-2004 10:59 » |
|
Pu, а по конкретней ? Поближе к теме чтобы. т.е. каким образом можно поиметь эти самые эвенты како го то ОЦИКСа ?
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Serega
Гость
|
|
« Ответ #3 : 04-10-2004 11:59 » |
|
ActiveX поддерживает модель событий COM, тебе надо преобразовать её (тоесть написать враппер) в твою модель событий Может лучше определиться сначала что ты хочешь получить, а потом уже подумать как этого добиться от COM ?
|
|
|
Записан
|
|
|
|
Serega
Гость
|
|
« Ответ #4 : 04-10-2004 12:01 » |
|
Тоесть тебе надо написать клиента который делегирует события этого контрола ?
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #5 : 04-10-2004 12:24 » |
|
Serega, именно так!
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Serega
Гость
|
|
« Ответ #6 : 04-10-2004 13:04 » |
|
Так ты напиши какую модель событий ты используешь и тогда можно будет думать как к ней преобразовать модель событий COM Если совсем плохо с ATL почитай хоть книжку от MS
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #7 : 04-10-2004 13:25 » |
|
Serega, с АТЛ никогда не имел дела. Какая модель событий я не знаю Мне просто дали файл с расширением OCX и сказали написать Вот сижу и не знаю с какого конца за это взяться :new_shot: ЗЫ. правда вот сюда сказали сходить http://support.microsoft.com/default.aspx?scid=kb;en-us;200839 , только я всё равно не въехал с чего и как начинать надо
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Pu
Большой босс
Offline
78
|
|
« Ответ #8 : 04-10-2004 13:33 » |
|
MOPO3, завтра покумекаем седня просто совсем ну ни минуты не было
|
|
|
Записан
|
Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать. (с) Артур Джонс
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #9 : 04-10-2004 13:35 » |
|
Pu, ОК, не вопрос. Сегодня и я уже этим не буду заниматься. Завтра и покумекаем. А я пока дома поищу книжек по АТЛу. По цпп у меня их много, может где и будет инфа по АТЛ .
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Pu
Большой босс
Offline
78
|
|
« Ответ #10 : 05-10-2004 05:33 » |
|
MOPO3, по поводу книжек, я АТL осваивал по Трельсену "Модель СОМ и применение АТЛ 3.0", в электронном виде у меня нет , повторюсь что здесь в библтотеке есть COM inside. Тож неплохая книга.
|
|
|
Записан
|
Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать. (с) Артур Джонс
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #11 : 05-10-2004 05:41 » |
|
Pu, ок, почитаю как время будет. А пока попробую из мсдна вырулить что нить стоящее
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #12 : 05-10-2004 07:06 » |
|
Эх, что то я всё равно не втыкаю Смотрю эту книгу и мсдн и всё равно не догоняю куда и как мне впихивать этот ocx :new_twist:
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #13 : 05-10-2004 11:42 » |
|
Вопрос по : IProvideClassInfo2Impl /* MSDN */ template < const CLSID* pcoclsid, const IID* psrcid, const GUID* plibid = &CAtlModule{{m_libid, WORD wMajor = 1, WORD wMinor = 0, class tihclass = CComTypeInfoHolder > class ATL_NO_VTABLE IProvideClassInfo2Impl { public IProvideClassInfo2
//параметр pcoclsid A pointer to the coclass' identifier.
Подскажите как получить указатель pcoclsid
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Pu
Большой босс
Offline
78
|
|
« Ответ #14 : 05-10-2004 13:05 » |
|
MOPO3, копай в сторону QueryInterface
|
|
|
Записан
|
Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать. (с) Артур Джонс
|
|
|
Serega
Гость
|
|
« Ответ #15 : 05-10-2004 15:25 » |
|
MOPO3, CLSID это GUID класса(обьекта), для которого ты хочешь получить ClassInfo
|
|
|
Записан
|
|
|
|
|