| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > DLL и диалог |
| Автор: DubAlex 28.4.2006, 09:38 |
| Есть проект, в результате компилирования которого формируется DLL. В ней размещаю диалог: в проект добавляю файл ресурсов (Project->Add to project->New->Resource Script), создаю ресурс диалога (Insert->Dialog), вызываю classWizard (Ctrl+W), далее в качестве источника указываю файл с расширением rc, создаю новый класс. Вроде бы все правильно. Но когда пытаюсь вызвать его с помощью функции DoModal() вылетает окно с сообщением "Debug Assertion Failed" и указывается файл afxwin1.inl строка 22. Если использовать трассировку, то после входа в функцию DoModal() и при выполнении строки: HINSTANCE hInst = AfxGetResourceHandle(); появляется данное сообщение. Прошу подсказать, как с этим можно справиться? |
| Автор: OverBug 28.4.2006, 22:10 |
| Попробуй перед DoModal() загрузить ресурс, там функция тпа LoadResource апишная есть... |
| Автор: DubAlex 2.5.2006, 08:39 | ||
Я пробовал использовать AFX_MANAGE_STATE(AfxGetStaticModuleState( )) но результат прежний. И вообще, при трассировке эта строчка игнорируется, просто перескакиваем через нее и все. В MSDN говорится, что AFX_MANAGE_STATE нужно использовать для экспортируемых функции( если я правильно понял). У меня таких функций нет. Может из-за этого строка AFX_MANAGE_STATE(AfxGetStaticModuleState( )) игнорируется при трассировке? |
| Автор: OverBug 2.5.2006, 19:10 | ||||
Тогда зачем использовать AFX_MANAGE_STATE(AfxGetStaticModuleState( )) ????? Я попробовал создать такую DLL. Все работает и не вываливается.
class CMyDialog : public CDialog создал визардом. При загрузке DLL (LoadLibrary(...)) появляется мой диалог. |