|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.12.2010, 01:44 | #1 |
Новичок
Джуниор
Регистрация: 18.12.2010
Сообщений: 2
|
Создание окна в DLL
Приветствую Вас, уважаемые эксперты!
Существует некое приложение (основное), созданное в Visual C++ с использованием MFC. Предполагается создать набор DLL библиотек, связываемых с основным приложением на этапе выполнения. Библиотеки должны создавать дочерние окна, родительским для которых является окно (представление) основного приложения. Собственно, в этом и проблема. Я делаю это следующим образом: Имеется некоторый класс CMyWnd, наследующийся от CWnd. Каждая DLL в свою очередь имеет классы наследованные от CMyWnd. В каждой DLL предполагается существование функции типа этой Код:
Код:
При отладке выясняется, что ошибка возникает в файле wincore.cpp, в функции Код:
Код:
Последний раз редактировалось Stilet; 19.12.2010 в 11:57. |
25.12.2010, 00:50 | #2 |
Новичок
Джуниор
Регистрация: 18.12.2010
Сообщений: 2
|
Решение
В общем, справился я с этой задачей и решил выложить решение. Как оказалось, проблема заключалась в самой библиотеке MFC. На чистом WinApi все работает нормально. Используя MFC, проблему можно устранить так:
1. Переопределить функцию CWnd::CreateEx в своем классе. 1. Заменить AfxGetInstanceHandle() на GetModuleHandle(NULL). 2. Заменить ::AfxCtxCreateWindowEx на CreateWindowEx. Получается что эти функции не совсем корректно работают в DLL. Разбор причины я пока отложил. Если кто знает, рад буду узнать в чем конкретно дело. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание окна | Stas96 | Win Api | 1 | 29.10.2010 21:58 |
Создание окна в Turbo Vision | Helle | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 02.04.2010 18:42 |
создание окна средствами API!! | LovePower | Общие вопросы C/C++ | 2 | 07.03.2010 21:29 |
Создание диалогового окна в Word | Busine2009 | Фриланс | 3 | 13.07.2009 09:37 |
Создание окна через CreateWindowEx | Nowichok | Win Api | 18 | 16.12.2006 16:37 |