VC6, ATL и IOleCommandTarget
От: Аноним  
Дата: 05.11.04 13:35
Оценка:
Следующая ситуация: Необходимо создать IE Plugin. Обязательное условие: Visual Studio 6. Долго рассказывать, почему. Все обыденно: Создаем ATL Com проект, добавляем ИЕ объект. Так как для плагина непременно нужен интерфейс IOleCommandTarget, добавляем его к классу в idl файле, компилируем — все прекрасно. С помощью меню добавляем в класс реализацию интерфейса, и тут приплыли: компилятор выдает ошибку С2259, радостно сообщая, что не может инициировать класс с чисто виртуальным функциями. И в предупреждениях сообщает, что функции QueryStatus и Exec интерфейса IOleCommandTarget не определены в классе-потомке. Смотрю в описание класса — обе функции на месте. Самое замечательное, что до этого момента мной не наколочено ни единой строчки кода, среда все сделала сама. Обругала себя тоже сама . Может, кто сталкивался с подобным?
Re: VC6, ATL и IOleCommandTarget
От: AndrewJD США  
Дата: 05.11.04 14:14
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Следующая ситуация: Необходимо создать IE Plugin. Обязательное условие: Visual Studio 6. Долго рассказывать, почему. Все обыденно: Создаем ATL Com проект, добавляем ИЕ объект. Так как для плагина непременно нужен интерфейс IOleCommandTarget, добавляем его к классу в idl файле, компилируем — все прекрасно.


Зачем добовлять в idl IOleCommandTarget?
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[2]: VC6, ATL и IOleCommandTarget
От: Diletant  
Дата: 05.11.04 14:30
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>Здравствуйте, Аноним, Вы писали:


А>>Следующая ситуация: Необходимо создать IE Plugin. Обязательное условие: Visual Studio 6. Долго рассказывать, почему. Все обыденно: Создаем ATL Com проект, добавляем ИЕ объект. Так как для плагина непременно нужен интерфейс IOleCommandTarget, добавляем его к классу в idl файле, компилируем — все прекрасно.


AJD>Зачем добовлять в idl IOleCommandTarget?


А как по другому, если класс должен наследовать несколько интерфейсов?
Благими пожеланьями дорожку гладко выстелим (С)
Re[3]: VC6, ATL и IOleCommandTarget
От: AndrewJD США  
Дата: 05.11.04 15:13
Оценка:
Здравствуйте, Diletant, Вы писали:

AJD>>Зачем добовлять в idl IOleCommandTarget?


D>А как по другому, если класс должен наследовать несколько интерфейсов?


В idl описывается новые интерфейсы, а не существующие
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[4]: VC6, ATL и IOleCommandTarget
От: Diletant  
Дата: 05.11.04 16:21
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>Здравствуйте, Diletant, Вы писали:


AJD>>>Зачем добовлять в idl IOleCommandTarget?


D>>А как по другому, если класс должен наследовать несколько интерфейсов?


AJD>В idl описывается новые интерфейсы, а не существующие


Хотя это чистой воды флейм по отношению к данному вопросу, но что делать если новый интерфейс наследует от IWebBrowser2 и IOleCommandTarget. ИМХО добавляется интерфейс IOleCommandTarget в секцию coclass класса и все прекрасно работает.
Благими пожеланьями дорожку гладко выстелим (С)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.