![]() |
|
|
![]()
|
|
| x8m6 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
Есть WFC - приложение. Есть еще одно C-приложение, которое начинает работу с вызова функции:
Мне нужно встроить 2-ое C-приложение в 1-ое и вызывать WinMain в качестве функции библиотеки. Реально ли вызвать WinMain из WFC? Что передавать в качестве hInstance? |
|||
|
||||
| Dem_max |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 1 Всего: 39 |
конечно
HINSTANCE hInstance = GetModuleHandle(NULL); -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||
|
|||||
| x8m6 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
Что - то не получается. После всех усановок внутри WinMain вызывается:
(см. WinUser.h в MicrosoftSDK/Windows/v6.0A/include) После этого вызова должно появится завестное окошко, но не появляется. Если запускать 2-ое приложение как -отдельное exe то все ok. Если как библиотечную C-функцию то не получается. Никаких ошибок не вываливается. Поясню еще раз что я делаю - перекомпиливаю 2-ое приложение как стат. библиотеку и запускаю из первого. Возможно, что в exe прошиваются какие-то доп. ресурсы а в lib они не попадают? MAKEINTRESOURCEW (IDD_MAIN_DLG) - вот это что значит? |
|||
|
||||
| Dem_max |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 1 Всего: 39 |
это собственно сам диалог из ресурсов
при вызове этой функции что возвращается то ? какая ошибка ? -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||
|
|||||
| x8m6 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
Ошибки никакой не вываливается, но возвращается -1. |
|||
|
||||
| Estranged |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 30.8.2010 Репутация: нет Всего: 3 |
У Вас не создается диалог, потому что в exe файле, который вызывает DialogBoxParam функцию, НЕ найден ресурс IDD_MAIN_DLG, потому что он - ресурс - содержится в приложении-2, как Вы говорите, собранном в виде lib, и в главный exe ресурсы свои не добавляет. Перенесите диалог в главный exe - первое приложение. Либо переделайте с DialogBoxIndirectParam.
|
|||
|
||||
| x8m6 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
Перенес ресурсы в exe. Все заработало.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |