Привет всем!
В общем пытаюсь сейчас сделать dll которую бы я мог динамически подключать. При попытке передачи в функцию dll параметра вылетает:
"The value of ESP was not properly saved across a function call. This is usually a result of calling a
function declared with one calling convention with a function pointer declared with a different calling
convention."
нажимаю кнопку пропустить — отрабатывается нормально(в смысле вызываетя функция и функция отрабатывает правильно)... При подключении функции без параметров проблем не возникает...
Привожу код:
работающий.
в длл
extern "C" __declspec(dllexport) int fun1()
{
return 34;
}
в программе
typedef int (CALLBACK* LPFNDLLFUNC1)(void);
...
HINSTANCE hDLL;
LPFNDLLFUNC1 lpfnDllFunc1;
hDLL = LoadLibrary("sample dll.dll");
lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress(hDLL,"fun1");
int i = lpfnDllFunc1();
...
Выдающий ошибку
extern "C" __declspec(dllexport) int fun1(int i)
{
return 34+i;
}
в программе
typedef int (CALLBACK* LPFNDLLFUNC1)(int);
...
HINSTANCE hDLL;
LPFNDLLFUNC1 lpfnDllFunc1;
hDLL = LoadLibrary("sample dll.dll");
lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress(hDLL,"fun1");
int i = lpfnDllFunc1(5);
...
Зарание спасибо!
З.Ы. Буду благодарен за ссылки на документы где хорошо описана работа длл.