Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > CDialog i DLL |
Автор: serg405 16.9.2009, 14:02 | ||||||||
есть иерархия класов которые все распиханы по dll. CDialogEx напрямую наследует CDialog
CTihnDialog наследует CDialogEx.
И наконецто CMyDialog наследует CThinDialog
CMyDialog уже не в dll. Проблема в том что когда я делаю так
У меня runtimre error вот на этой строке в Cdialog::Create ASSERT(FALSE); // invalid dialog template name Я так понял что когда Create дошол до CDialogEx система уже не знала что такое IDD_TNSWND, тоесть не увидела ресурс. Вопрос следующи: Как заставить ее видеть ресурс. |
Автор: serg405 16.9.2009, 16:16 | ||||||||
так превый вопрос я с горем пополам решыл. Для начала просто убрал из класов все Create, и дал работать CDialog::Create напрямую. Но это тоже не выход это так временно. Но появилась новая ошыбка. Окно создаеться корректно CDialog::Create возвращает 1 все прекрасно пока не вызываю
после этого вылет в wincore.cpp
и все это конечно же не пропускает
Я не могу понять что не так!!!!!???? Почему _afxThreadState.GetData(); возвратил NULL? |
Автор: DrHex 16.9.2009, 16:22 |
wnd.DoModal(); - ради шутки попбобуй. А вообще откуда ShowWindow делаешь ? попробуй из App. |
Автор: serg405 16.9.2009, 16:43 | ||
пробовал тот же ефект в том же месте. и с App тоже error Добавлено @ 16:56 [URL=http://cdialogindll.googlecode.com/svn/trunk/[/URL] вот мой проект посмотрите кому не лень |
Автор: Earnest 23.9.2009, 13:03 |
Проект смотреть лень, но первое, что нужно проверить: чтобы реализовать такую иерархию, распихнутую по DLL, эти DLL должны быть типа Extension, а не Regular. Судя по первой ошибке, это не так. |