Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.07.2011, 19:31   #1
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию Экспорт/Подмена DLL (Brain->Вынос)

Доброго времени суток Уважаемые эксперты. Я разобрался с проблемой "Точка входа в процедуру 'x' не найдена в DLL 'y'" но теперь возникла другая проблема (смотреть скрин), я уже устал и честно даже не знаю что уже делать.
Я тупой и наверное я не программист и больше слов у меня нет. Это уже 4 или 5 день от когда я взялся за эту задачу...



Порыскал google, он мне сказал что такая проблема происходит когда где-то памяти не может произойти запись куда-то, таки да, открыл свой *.exe могучей Олькай, так она остановилась на этом месте (смотреть скрин).
Вообще *.exe работает отлично, не подумайте что это могут проблемы в *.exe, проблема изза моей *.dll



~Описываю все действия что я сделал:
1) Подставил фейк opengl32.dll в директорию с моим приложением чтобы происходило чтение моей *dll а не оригинальной opengl32 из системной директории.
2) Экспортирую все функции используемые *.exe приложением следующим образом. Код объемный в 2к с копейками строчек, изза количество функций, поэтому вынужден сделать вложение но приведу еще 1 пример как я это делаю.
# Указатель на оригинальную функцию
- void (APIENTRY *ptr_glAccum) (GLenum op, GLfloat value);
# Получаем модуль
- HMODULE hDLL = LoadLibraryA("c:\windows\system32\o pengl32.dl)
# Получаем адрес ориг. функции
- (FARPROC&)ptr_glAccum = GetProcAddress(hDLL, "glAccum");
# Экспортируемая функция
- DLLExport void __stdcall glAccum(GLenum op, GLfloat value) { ptr_glAccum(op, value); }

И конечно же *.def файл

Код:
LIBRARY test
EXPORTS
glAccum
...
Благодаря definition файл я избавился от проблемы с точкой входа. Но что еще им нужно от меня? Что я упустил?
Я скажу не то что спасибо, я скажу нереально огромное спасибо за подсказку.
Вложения
Тип файла: txt GLApi.txt (93.8 Кб, 122 просмотров)

Последний раз редактировалось coNsept; 25.07.2011 в 20:28.
coNsept вне форума Ответить с цитированием
Старый 26.07.2011, 01:53   #2
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Проблема решена, все дело было в кривой функции GetLibraryDir.
По желанию тему можно удалить либо закрыть.
coNsept вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подмена dll (OpenGL) coNsept Общие вопросы C/C++ 11 22.07.2011 01:56
Экспорт из *.dll BingoBongo Общие вопросы Delphi 8 09.05.2011 13:28
вынос методов класса в дин библиотеки(dll) Пепел Феникса Общие вопросы C/C++ 8 07.12.2010 20:55
экспорт в dll varelik Общие вопросы Delphi 3 13.01.2010 11:30
Вынос компонентов программы (которые делфи всталяет в каждую программу) из проги в dll GanGSISoft Общие вопросы Delphi 17 02.07.2009 17:24