атрибуты и WTL Application
От: Tornn  
Дата: 11.03.03 11:25
Оценка:
Привет Всем! Сначала краткое описание ситуации... (сразу скажу, я в 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?
Re: Re: атрибуты и WTL Application
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 11.03.03 11:42
Оценка:
Здравствуйте, 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&amp;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
Re[2]: Re: атрибуты и WTL Application
От: Tornn  
Дата: 11.03.03 11:51
Оценка:
Здравствуйте, 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...
Re[3]: Re[3]: Re: атрибуты и WTL Application
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 11.03.03 12:04
Оценка:
Здравствуйте, Tornn, Вы писали:

OE>>самое простое — создать заготовку в VS6, перетащить в VS7 и спокойно прикручивать к ней WTL

T>Разрешите уточнить ... Разве можно в VS6 сделать attributed ATL DLL project?

не знаю, но последний вариант вопроса звучал так —

T>>>ИЛИ (другой вариант решения вопроса):

T>>>Как в ATL DLL Project можно полноценно использовать WTL?

поэтому я писал про вариант без атрибутов
Re: атрибуты и WTL Application
От: Thanatos Украина  
Дата: 12.03.03 17:07
Оценка:
Попробуй перед каждым включением <atlctrls.h> добавить следующее:
...
#include <atlapp.h>
extern CAppModule _Module;
...
Лучший дар, который мы получили от природы и который лишает нас всякого права жаловаться – это возможность сбежать. /М.Монтень/
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.