Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DLL и диалог, Диалог создал, но выводится ошибка 
V
    Опции темы
DubAlex
Дата 28.4.2006, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 10.2.2006

Репутация: нет
Всего: нет



Есть проект, в результате компилирования которого формируется 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();
появляется данное сообщение.
Прошу подсказать, как с этим можно справиться? 
PM MAIL   Вверх
OverBug
Дата 28.4.2006, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 13.4.2006
Где: г.Пенза, Пензенск ой обл.

Репутация: нет
Всего: 1



Попробуй перед DoModal() загрузить ресурс, там функция тпа LoadResource апишная есть... 
PM MAIL ICQ   Вверх
DubAlex
Дата 2.5.2006, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 10.2.2006

Репутация: нет
Всего: нет



Цитата(OverBug @ 28.4.2006,  22:10)
Попробуй перед DoModal() загрузить ресурс, там функция тпа LoadResource апишная есть...

Я пробовал использовать 
AFX_MANAGE_STATE(AfxGetStaticModuleState( ))
но результат прежний. И вообще, при трассировке эта строчка игнорируется, просто перескакиваем через нее и все. 
В MSDN говорится, что AFX_MANAGE_STATE нужно использовать для экспортируемых функции( если я правильно понял). У меня таких функций нет. Может из-за этого строка 
AFX_MANAGE_STATE(AfxGetStaticModuleState( )) 
игнорируется при трассировке? 
PM MAIL   Вверх
OverBug
Дата 2.5.2006, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 13.4.2006
Где: г.Пенза, Пензенск ой обл.

Репутация: нет
Всего: 1



Цитата

У меня таких функций нет

Тогда зачем использовать AFX_MANAGE_STATE(AfxGetStaticModuleState( )) ????? 

Я попробовал создать такую DLL. Все работает и не вываливается. 
Код

BOOL Cdll_dialogApp::InitInstance()
{
    CWinApp::InitInstance();
    CMyDialog mdlg;
    mdlg.DoModal();

    return TRUE;
}



class CMyDialog : public CDialog  создал визардом.

При загрузке DLL (LoadLibrary(...)) появляется мой диалог.  
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0860 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.