//загрузка библиотеки
HINSTANCE libInst;
libInst = ::LoadLibrary("gisforms.dll");
//вызов ф-ии
long int (WINAPI *InputObject)(HOBJ object, OBJECTFORM* objform, TASKPARM* taskparm);
(FARPROC)InputObject = GetProcAddress(libInst, "formInputObject");
int res = (*InputObject)(1339, NULL, NULL);
//выгрузка библиотеки
::FreeLibrary(libInst);
GetProcAddress
Код:
Ругается на
Код:
long int (WINAPI *InputObject)(HOBJ object, OBJECTFORM* objform, TASKPARM* taskparm);
Ошибка:
Код:
[C++ Error] test.cpp(940): E2303 Type name expected
[C++ Error] test.cpp(941): E2139 Declaration missing ;
[C++ Error] test.cpp(941): E2139 Declaration missing ;
В чем м\б ошибка?
Код:
typedef long int (WINAPI *_InputObject)(HOBJ object, OBJECTFORM* objform, ASKPARM* taskparm);
_InputObject InputObject;
InputObject = GetProcAddress(libInst, "formInputObject");
_InputObject InputObject;
InputObject = GetProcAddress(libInst, "formInputObject");
и вызывать функцию как обычно
Код:
int res = InputObject(1339, NULL, NULL);
Пробовал и так. Но ошибка появляется аналогичная. Ругается на
Код:
typedef long int (WINAPI *_InputObject)(HOBJ object, OBJECTFORM* objform, ASKPARM* taskparm);
М\б что-то ещё дополнительно надо подключить? windows.h подключен.
Код:
typedef long int (WINAPI *_InputObject)(HOBJ object, OBJECTFORM* objform, ASKPARM* taskparm);
из тела функции.
Предыдущий ответ, до редактирования (о том, что проблема в типах передаваемых переменных) был верный.