![]() |
|
![]() ![]() ![]() |
|
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
Добрый день.
Есть такая проблема: в своем приложении использую стороннюю бибилиотеку (TurboDLL с CodeProject' а (исходники, если что, есть)). Для этого к проекту линкую .lib' у, которая вызывает .dll. В конструкторе одного из классов (CTreeListHeaderCtrl) есть вызов AfxGetInstanceHandle который кидает assertion из afxwin1.inl по причине afxCurrentInstanceHandle == NULL Это как-то можно побороть? С уважением... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 6 Всего: 29 |
Я такое видел, когда обьект класса был глобальным. Конструктор глобального обьекта вызывается ещё до того, как afxCurrentInstanceHandle будет инициализирован.
|
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
тут он не глобальный. цепочка вызовов идет из InitDialog основного диалога
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Как я понимаю, библиотека на MFC написана?
Какая она: Extension или Regular? Для работы с Regular нужны дополнительные притопы и прихлопы: AFX_MANAGE_STATE нужно вставлять в каждой экспортируемой функции... Может по-этому у тебя проблемы... Мне кажется, раз исходный код есть, проще ее (библиотеку) пересобрать как Extension, если нет каких-то противопоказаний. -------------------- ... |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
я только за. только что для этого делать нужно? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Сделай новый проект (можно прямо в своем солюшене, чтобы сама подключалась), выбери MFC DLL и там где-то еще нужно выбрать Extension DLL. Потом добавь все файлы (кроме тех, где DLLMain или что там у них), короче все файлы с кодом классов.
Файл с ресурсами (RC, если есть) просто замени на тот, который из библиотеки. Ну и не забыть про resource.h и всякие дополнительные иконки-картинки-курсоры (если есть, опять же). -------------------- ... |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |