![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| rainbow86 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
Гружу библиотеку LoadLibrary("My.dll"); А он мне говорит- No symbols loaded Где то прочитал что надо добавлять динамически подгружаемые библиотеки в параметр additionals dll's пункта project settings, только чего-то я не нашел там такого. Может кто знает чего? И ещё один вопрос: Обязательна ли функция DllMain() в dll файле? |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 4 Всего: 47 |
Ошибку приведи
|
|||
|
||||
| Fixin |
|
||||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
|
||||
|
|||||
| rainbow86 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
Вообщем ситуация такая: у меня есть два модуля один exe и другой dll для этого ехе'шника.
Вызываю из главного модуля функцию которая прописана в dll: HMODULE dllhook=LoadLibrary("My.dll"); HOOKPROC hook=(HOOKPROC)GetProcAddress(dllhook,"MyFunction"); HHOOK hhook=SetWindowsHookEx(WH_KEYBOARD,hook,dllhook,0); Но функция почемуто не вызывается. В dll у меня примерно вот что функция: _declspec(dllexport) LRESULT CALLBACK MyFunction(int code, WPARAM wParam,LPARAM lParam) { Код обработки сообщения } Мож кто знает в каком направлении искать ошибку??? |
|||
|
||||
| Aleksandor |
|
|||
|
Практик ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 22.11.2005 Где: россия, зеленогра д Репутация: 10 Всего: 12 |
А что говорят коды ошибок ? Я пользую вот такую штуку для получения инфы об ошибках (на примере функции LoadLibrary:
Если LoadLibrary окей проверь следующие А DllMain() не обязательна если нет нужды проводить инициализацию. При отсутствии DllMain() линкер сам подключит реализацию по умолчанию из run-time. -------------------- Call out Gouranga be happy!!! Gouranga Gouranga Gouranga .... That which brings the highest happiness!! |
|||
|
||||
| rainbow86 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
в файле exports.def у меня вот что:
LIBRARY My EXPORTS MyFunction
Ошибок как таковых нет, все компилируется нормально, и в exe все работает нормально, я проверял, а вот функция в dll не выполняется? Может я чего-то забыл по неопытности? |
|||
|
||||
| Aleksandor |
|
|||
|
Практик ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 22.11.2005 Где: россия, зеленогра д Репутация: 10 Всего: 12 |
А что говорит DUMPBIN -exports my.dll
-------------------- Call out Gouranga be happy!!! Gouranga Gouranga Gouranga .... That which brings the highest happiness!! |
|||
|
||||
| Mad |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 2 Всего: 19 |
он просто не находит функцию по имени, C++ добавляет служебные символы к имени по умолчанию (определяющие параметры функции) попробуя так
|
||||||
|
|||||||
| rainbow86 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
Вот это мой exe, может поможет:
А это примерный dll
|
||||
|
|||||
| Aleksandor |
|
|||
|
Практик ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 22.11.2005 Где: россия, зеленогра д Репутация: 10 Всего: 12 |
А это зачем - Sleep(INFINITE); !?
-------------------- Call out Gouranga be happy!!! Gouranga Gouranga Gouranga .... That which brings the highest happiness!! |
|||
|
||||
| rainbow86 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
Для того что бы прога работала, до тех пор пока не убьеш процесс! Всем спасибо, эта проблема вроде-бы решена. Но появилась другая: каким способом надо отлаживать dll файлы. Ставлю точки остановки, но почему-то они игнорируются хотя финкция сама выполняется??? Ёще раз всем спасибо! |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
Сначала проверяешь все ф-ции в обычном ехе-шнике, если все работают как те надо, переносятся в Dll
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| rainbow86 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
Неплохой совет, спасибо! |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
Нема за шо
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |