Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Библиотека не дает программе зактываться

Здравствуйте, Все.

Если в приложении библиотека не запускается с помощью LoadLibrary,
то приложение
нормально закрывается. Но стоит ее разок загрузить, как уже приложение
по нажатию на
закрывание главного окна не закрывается (после FreeLibrary). Как от этого м.
избавиться,
если библиотека делалась с помощью MFC AppWizard(dll), также в приложении
запускается в
немодальном режиме еще одно окно.

HINSTANCE hMyDll=NULL;
static HHOOK hhkKbdHook = NULL;
hMyDll = ::LoadLibrary(path+"mfc_dll_wiz.dll");
hhkKbdHook = SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)
GetProcAddress(hMyDll,"GetMsgProc"),hMyDll,0);

//..... мои действия

BOOL boo1=UnhookWindowsHookEx(hhkKbdHook);
hhkKbdHook = NULL;
BOOL boo2=FreeLibrary(hMyDll);

boo2 boo1 равны правде.

Ответить   Tue, 16 Aug 2005 08:00:02 +0400 (#418721)

 

Ответы:

Здравствуйте !


А в dll-ке потоки, окна создаются ?
И производится ли там сабклассинг окон в этой самой hook-процедуре ?
Короче, надо смотреть просто отладчиком где висит.
Просто поставь точки останова во всех функциях длл-ки, которые
могут вызываться, и увидишь где виснет. Ну, или в дебаггер инфу
кидай.

--
С уважением, Вахтуров Виктор.

Номер выпуска : 4848
Возраст листа : 697 (дней)
Количество подписчиков : 528
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/419879
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Thu, 18 Aug 2005 21:28:15 +0400 (#419879)

 

Здравствуйте, Victor.

Thursday, August 18, 2005, 9:28:15 PM, Вы писали:



Потоки и окна там не создаются. В самом приложении есть такое. Поскольку я о
сабклассинге
почти ничего не знаю, то думаю что он в длл не производится :) Проблема
почти решена
помещением на диалоговой панели кнопки "Выход" - там диалоговое окно уничтожается
и
программа благополучно завершает свое существование. А при нажатии на крестик
вверху окна
прога просто висит в трее, функция уничтожения этого диалогового окна не вызывается,
окно
просто не видится, а при кликании по трею оно становится видимым. Просто пока
не решена
неоднозначность: если без зугрузки биб-ки, то прога по нажатию на крестик выходит,
а если
с загрузкой, то она остается в трее. Думаю это просто решить с помощью OnCommand.
Поэтому
вопрос с библиотекой для меня остается чисто риторическим.

останова во

Ну, или в

Да ниче вроде не виснет. Иначе сообщения не передавались бы, если б на
каком участке
висло. Может, я что сбивчиво объяснял - готов пояснить еще раз.

Ответить   Sat, 20 Aug 2005 07:36:13 +0400 (#421091)