powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Про вызовы DLL
3 сообщений из 3, страница 1 из 1
Про вызовы DLL
    #34701896
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужна функция в DLL, которая бы вызывалась следующим кодом:
Код: plaintext
1.
2.
3.
typedef int (WINAPI *DECODE) (const char*, void*);
DECODE pfnDecode = (DECODE) GetProcAddress(hDll, "Decode");
pfnDecode(...);

VC6SP5 Создал DLL:
Код: plaintext
1.
2.
3.
4.
5.
6.
#ifdef TEST_EXPORTS
#define TEST_API __declspec(dllexport)
#else
#define TEST_API __declspec(dllimport)
#endif

extern "C" TEST_API int Decode()
Работает, но в вызывающей проге происходит исключение по завершению работы проги. Если в вызывающей убрать WINAPI - все работает. А что дописать в DLL чтобы так работало - непонятно.

Вариант:
Код: plaintext
1.
extern "C" TEST_API int __stdcall Decode(const char *pcszFileName, void* pvBuffer)
и установка __stdcall по умолчанию приводят к тому что GetProcAddress(hDll, "Decode") возвращает NULL.
...
Рейтинг: 0 / 0
Про вызовы DLL
    #34701971
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обычно нечто подобное бывает если экзешник создан с предыдущей версией твоей длл, потом изменились интерфейсы и при выгрузке он не может корректно очистить стек, попробуй пересобрать все по новой и не забудь подсунуть экзешнику свежие *.h твоего проекта с dll
--------------------------------------------------------------
[не претендую на уникальность]
...
Рейтинг: 0 / 0
Про вызовы DLL
    #34702083
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй написать в dll
Код: plaintext
AFX_EXT_API int WINAPI Decode(const char *pcszFileName, void* pvBuffer)

У меня подобное работает (если WINAPI есть и в ехе и в dll, или и там и там нету. Если в одном есть, а в другом нет -- вылетает).
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Про вызовы DLL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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