| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > не открывается окошко. |
| Автор: bilbobagginz 17.1.2007, 04:06 | ||
| Здравствуйте. есть приложение MFC, приложение - диалоговое, т.е. CWinApp имеет переменную порожденную от типа CDialog после создания данной переменной, происходит вызов:
проект собирается, без проблем, но окно не открывается. реализован метод OnInitDialog(). я поставил брейк-пойнт внутри нее, но контроль не доходит до этой функции. После конструктора программа выходит до CWinApp, и вызывает DoModal(). на что посмотреть, чтобы окно открывалось ? |
| Автор: bilbobagginz 17.1.2007, 05:57 |
| DoModal() возвращает -1 |
| Автор: hamsterKSU 17.1.2007, 17:57 |
| код класса MyDlg.cpp покажи всетаки |
| Автор: zkv 17.1.2007, 18:13 |
думаю ни о чем не скажет, интуиция подсказывает, что проблемы с ресурсами. Надо весь проект. Или создать новый и в нем воссоздать ошибку (на этом этапе проблема вероятно решится сама собой |
| Автор: En_t_end 17.1.2007, 19:23 |
| bilbobagginz, InitCommonControls(); вызови её перед открытием диалога. ИМХО |
| Автор: bilbobagginz 17.1.2007, 20:32 | ||
| в основном приложении ( порожденное от CWinApp ) вызывается:
|
| Автор: zkv 17.1.2007, 22:56 |
| могу только посоветовать по шагам пройти по внутренностям DoModal() (Step Into) посмотреть что там происходит, особенно с ресурсами |
| Автор: bilbobagginz 17.1.2007, 23:08 | ||
сделал, но я не знаю что ДОЛЖНО быть, когда всё работает правильно. на что именно смотреть ? можно поточнее ? |
| Автор: Earnest 18.1.2007, 11:14 | ||||
| Для начала должно успешно проходить стадию создания и входить в модальный цикл (вызывать RunModalLoop). -1 возвращается либо если не найден шаблон:
либо если падает исключение:
Ну и, теоретически, хто-то может вызвать EndDialog(-1)... |
| Автор: bilbobagginz 20.1.2007, 14:06 |
| Спасибо, я воспользовался знаниями zkv. |