Привет Всем! Сначала краткое описание ситуации... (сразу скажу, я в WTL и ATL немного

)
Некогда MS выпустила VS.NET — она же VC7. В ней есть такая фишка, как атрибуты. Не секрет, для тех, кто знаком с этим чудом, что с их помощью очень легко писать COM объекты. А особенно легко работать с событиями — они же ConnectionPoints. Никаких напрягов и никаких промежуточных классов. Не далее, чем вчера я столкнулся с проблемой, когда я хочу написать ATL Control с использованием WTL. Но, этот ATL Control должен быть реализован в этой самой attributed ATL DLL project. Но это не получается, т.к. нет глобального объекта _Module. А в нескольких местах в <atlctrls.h> есть строчка _Module.GetResourceHandle(). Вообщем вот такая нехватка.... Помогите — не знаю, что делать.
В MSDN написано, что атрибут [module ... ] втыкает в глобальное пространство _AtlModule. Всё бы ничего, только у последнего нет такой ф-ии....
Вообщем кратко вопрос можно сформулировать так: как сделать WTL Application, чтобы он был attributed ?
ИЛИ (другой вариант решения вопроса):
Как в ATL DLL Project можно полноценно использовать WTL?
Здравствуйте, Tornn, Вы писали:
T>Привет Всем! Сначала краткое описание ситуации... (сразу скажу, я в WTL и ATL немного
)
T>Некогда MS выпустила VS.NET — она же VC7. В ней есть такая фишка, как атрибуты. Не секрет, для тех, кто знаком с этим чудом, что с их помощью очень легко писать COM объекты. А особенно легко работать с событиями — они же ConnectionPoints. Никаких напрягов и никаких промежуточных классов. Не далее, чем вчера я столкнулся с проблемой, когда я хочу написать ATL Control с использованием WTL. Но, этот ATL Control должен быть реализован в этой самой attributed ATL DLL project. Но это не получается, т.к. нет глобального объекта _Module. А в нескольких местах в <atlctrls.h> есть строчка _Module.GetResourceHandle(). Вообщем вот такая нехватка.... Помогите — не знаю, что делать.
T>В MSDN написано, что атрибут [module ... ] втыкает в глобальное пространство _AtlModule. Всё бы ничего, только у последнего нет такой ф-ии....
_AtlBaseModule.GetModuleInstance();
или так
http://www.rsdn.ru/forum/Message.aspx?mid=204608&only=1Автор: Odi$$ey
Дата: 28.02.03
но GetModuleInstance() — это цветочки, дальше будет отсутствие EnterStaticDataCriticalSection(), LeaveStaticDataCriticalSection() и т.д. и т.п.
T>Вообщем кратко вопрос можно сформулировать так: как сделать WTL Application, чтобы он был attributed ?
вопрос даже шире, т.к. и с не attributed — ATL — проектом, созданным мастером в VS7 такая же фигня
T>ИЛИ (другой вариант решения вопроса):
T>Как в ATL DLL Project можно полноценно использовать WTL?
самое простое — создать заготовку в VS6, перетащить в VS7 и спокойно прикручивать к ней WTL
Здравствуйте, Odi$$ey, спасибо за объяснение...
OE>но GetModuleInstance() — это цветочки, дальше будет отсутствие EnterStaticDataCriticalSection(), LeaveStaticDataCriticalSection() и т.д. и т.п.
T>>Вообщем кратко вопрос можно сформулировать так: как сделать WTL Application, чтобы он был attributed ?
OE>вопрос даже шире, т.к. и с не attributed — ATL — проектом, созданным мастером в VS7 такая же фигня
T>>ИЛИ (другой вариант решения вопроса):
T>>Как в ATL DLL Project можно полноценно использовать WTL?
OE>самое простое — создать заготовку в VS6, перетащить в VS7 и спокойно прикручивать к ней WTL
Разрешите уточнить

... Разве можно в VS6 сделать attributed ATL DLL project?
И всё-таки — ИМХО интересная задача — сделать WTL APP attributed...
Здравствуйте, Tornn, Вы писали:
OE>>самое простое — создать заготовку в VS6, перетащить в VS7 и спокойно прикручивать к ней WTL
T>Разрешите уточнить
... Разве можно в VS6 сделать attributed ATL DLL project?
не знаю, но последний вариант вопроса звучал так —
T>>>ИЛИ (другой вариант решения вопроса):
T>>>Как в ATL DLL Project можно полноценно использовать WTL?
поэтому я писал про вариант без атрибутов
Лучший дар, который мы получили от природы и который лишает нас всякого права жаловаться – это возможность сбежать. /М.Монтень/