Всем привет!
Вот пишу COM бибилиотечку с помощью ATL. И для некоторых объектов нужно делать страницы свойств. А UI писать на чистом Win32 мне не хочется — время жалко. Поэтому я решил воспользоваться такой фишкой как MFC support (эту галочку можно поставить при создании ATL Server проекта виззардом в MS VS.NET 2003).
Так вот всё вроде красиво и даже линкуется успешно(после часовых танцев с бубном). Но при попытке создать хоть одно MFC окошко приводят к ASSERT'у:
ASSERT(afxCurrentResourceHandle != NULL)
Причина, как я понимаю, в том, что AfxGetModuleState вызываемая из AfxFindResourceHandle выдаёт совсем какой-то кривой указатель (битый). И дальше уже идёт дребедень.
В общем, люди добрые помогите. может кто решал такую проблему?
А может кто-то использовал такой же проект и у него не было подобных граблей?
Здравствуйте, Tornn2, Вы писали:
T>Вот пишу COM бибилиотечку с помощью ATL. И для некоторых объектов нужно делать страницы свойств. А UI писать на чистом Win32 мне не хочется — время жалко. Поэтому я решил воспользоваться такой фишкой как MFC support (эту галочку можно поставить при создании ATL Server проекта виззардом в MS VS.NET 2003).
Я конечно понимаю, что после драки кулаками не машут, но почему было не воспользоваться WTL для создания UI?

[ posted via RSDN@Home 1.1.2 stable ]
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>Я конечно понимаю, что после драки кулаками не машут, но почему было не воспользоваться WTL для создания UI?
На MFC Будет быстрее.
Да и, самое главное!, я не смог к ATL Server Project присобачить поддержку WTL.

Или это как-то делается ?
SDB>>Я конечно понимаю, что после драки кулаками не машут, но почему было не воспользоваться WTL для создания UI?
Хотя я сейчас посмотрел и, судя по всяким постам, WTL 7.5 прикручивается без особых проблем к ATL проекту.
НО ОСНОВНОЙ ВОПРОС МЕНЯ ЕЩЁ ОЧЕНЬ ИНТЕРЕСУЕТ!!!
Здравствуйте, Tornn2, Вы писали:
T>Всем привет!
T> ASSERT(afxCurrentResourceHandle != NULL)
А вызвать AfxSetResourceHandle() ???
Здравствуйте, Tornn2, Вы писали:
T>В общем, люди добрые помогите. может кто решал такую проблему?
T>А может кто-то использовал такой же проект и у него не было подобных граблей?
Q173974 — How To Add MFC Support to an ATL Project
Q175190 — How To Add ATL Support to an MFC EXE
6. Add the following line of code to the beginning of every member function of a COM interface, window procedure, and exported function:
AFX_MANAGE_STATE(AfxGetAppModuleState()); // проект EXE
или
AFX_MANAGE_STATE(AfxGetStaticModuleState()); // проект DLL