powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создание ресурсов exe из dll
2 сообщений из 2, страница 1 из 1
Создание ресурсов exe из dll
    #34092398
MaximZaikin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Помогите пожалуйста понтять в чем я ошибаюсь. Суть программы следующая, есть prog.exe и prog.dll в prog.exe находится главная форма на каторой распологается элемент TabCtrl. Cуществует структура данных которая при инициализации форы заполняется указателеями в том числе и на TabCtrl. Память под нее выделяется, далее эта структура передается в prog.dll где находится шаблон IDD_FORM, суть dll в том что для каждой новой вкладки она стартует новый поток, который соответсвенно будет заниматьс только ей. Все бы ничего, поток стартует структура передается в заполненом виде, но когда дело доходит до строки
m_ptrTabContent->m_ptrDlg->Create(MAKEINTRESOURCE(IDD_TABDLG),(CWnd*)m_ptrTabContent->m_ptrParentTab);

програма вылетает с ошибкой Assertation Faild. Причем когда точно такой же вызов делаю в контексте prog.exe то все в порядке. К слову сказать, данные проинициализированны так
m_ptrTabContent->m_ptrParentTab = &m_ctrlTab;//контрол на элемент TabCtrl
m_ptrTabContent->m_ptrDlg = new CTabCtrl;

Что я делаю не так, в глубине понимаю что недопонимаю чего то касательно адресного пространства возможно а может и нет, вобщем не могу понять где мояя ошибка.
Буду признателен за коентарии.
...
Рейтинг: 0 / 0
Создание ресурсов exe из dll
    #34092591
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximZaikinДобрый день. Помогите пожалуйста понтять в чем я ошибаюсь. Суть программы следующая, есть prog.exe и prog.dll в prog.exe находится главная форма на каторой распологается элемент TabCtrl. Cуществует структура данных которая при инициализации формы заполняется указателеями в том числе и на TabCtrl.

Память под нее выделяется, далее эта структура передается в prog.dll где находится шаблон IDD_FORM, суть dll в том что для каждой новой вкладки она стартует новый поток, который соответсвенно будет заниматьс только ей.


А нафига такое надо ? Вопрос риторический, ответ очевиден - ни на фиг не надо.


Все бы ничего, поток стартует структура передается в заполненом виде, но когда дело доходит до строки
m_ptrTabContent->m_ptrDlg->Create(MAKEINTRESOURCE(IDD_TABDLG),(CWnd*)m_ptrTabContent->m_ptrParentTab);

програма вылетает с ошибкой Assertation Faild. Причем когда точно такой же вызов делаю в контексте prog.exe то все в порядке. К слову сказать, данные проинициализированны так
m_ptrTabContent->m_ptrParentTab = &m_ctrlTab;//контрол на элемент TabCtrl
m_ptrTabContent->m_ptrDlg = new CTabCtrl;


Я не понимаю, почему два TabControl-а. Вообще на форме должен быть только
один Tab, и много дочерних окон - диалогов.

Да и простое несоответствие типов не смущает ?
(судя по Венгерской нотации):

m_ptrTabContent->m_ ptrDlg = new CTabCtrl ;

И зачем их надо делать new - их обычно фиксированное количество.

Тут скорее всего ты неправильно инициализируешь потоки, они должны быть инициализированы MFC-шными функциями, ежели ты используешь


Что я делаю не так, в глубине понимаю что недопонимаю чего то касательно адресного пространства возможно а может и нет, вобщем не могу понять где моя ошибка.


Адреснае прастранства ни при чем. Надо видимо выкинуть кашу из головы и начать ею думать.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создание ресурсов exe из dll
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]