Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: ATL wrapper class  (Прочитано 20053 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« : 04-10-2004 06:29 » 

Попросили тут одну вещь сделать, только я не совсем понял что надо.

Есть какой-то OCX (полностью написаный на MFC) , просят написать на ATL класс wrapper для этого OCX, который экспоузит все эвенты этого OCX.

Куда копать то ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Pu
Большой босс

ru
Offline Offline
78


« Ответ #1 : 04-10-2004 09:47 » 

MOPO3,   OCX - это компонент ActiveX, тот жа dll , только расширение .ocx. разница только в названии и не более. Вот и получается - копать надо в сторону  ActiveX компонентов.
Записан

Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать.
(с) Артур Джонс
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #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
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #5 : 04-10-2004 12:24 » 

Serega, именно так!
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Serega
Гость
« Ответ #6 : 04-10-2004 13:04 » 

Так ты напиши какую модель событий ты используешь и тогда можно будет думать как к ней преобразовать модель событий COM
Если совсем плохо с ATL почитай хоть книжку от MS
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #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
Большой босс

ru
Offline Offline
78


« Ответ #8 : 04-10-2004 13:33 » 

MOPO3, завтра покумекаем седня просто совсем ну ни минуты не было Жаль
Записан

Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать.
(с) Артур Джонс
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #9 : 04-10-2004 13:35 » 

Pu, ОК, не вопрос. Сегодня и я уже этим не буду заниматься. Завтра и покумекаем. А я пока дома поищу книжек по АТЛу.  По цпп у меня их много, может где и будет инфа по АТЛ .
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Pu
Большой босс

ru
Offline Offline
78


« Ответ #10 : 05-10-2004 05:33 » new

MOPO3, по поводу книжек, я АТL осваивал по Трельсену "Модель СОМ и применение АТЛ 3.0", в электронном виде у меня нет , повторюсь что здесь в библтотеке есть COM inside. Тож неплохая книга.
Записан

Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать.
(с) Артур Джонс
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #11 : 05-10-2004 05:41 » 

Pu, ок, почитаю как время будет. А пока попробую из мсдна вырулить что нить стоящее
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #12 : 05-10-2004 07:06 » 

Эх, что то я всё равно не втыкаю Жаль Смотрю эту книгу и мсдн и всё равно не догоняю куда и как мне впихивать этот ocx  :new_twist:
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #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
Большой босс

ru
Offline Offline
78


« Ответ #14 : 05-10-2004 13:05 » 

MOPO3, копай в сторону QueryInterface
Записан

Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать.
(с) Артур Джонс
Serega
Гость
« Ответ #15 : 05-10-2004 15:25 » 

MOPO3, CLSID это GUID класса(обьекта), для которого ты хочешь получить ClassInfo
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines