Существует три файла, лежащих в каталоге с: /. Это lib.dll, conf.ini, libImp.cpp. И я вызываю lib.dll «init» в файле libImp.cpp. Для успешного вызова функции «init» обязательно нужно, чтобы conf.ini лежал в том же каталоге. Проблема в том, что если я попытаюсь вызвать функцию dll из другого каталога, появится ошибка. В нем говорится, что он не видит conf.ini. Например, если libImp.cpp находится в каталоге c:/catalog2, появляется эта ошибка. Часть кода, который отвечает за функции длл вызова:Вызов библиотеки dll из cpp
HINSTANCE hGetProcIDDLL = LoadLibrary("c:\\catalog\\lib.dll");
FARPROC lpfnGetProcessID = GetProcAddress(HMODULE (hGetProcIDDLL),"init");
typedef int (__stdcall * pICFUNC)(char *);
pICFUNC init;
init = pICFUNC(lpfnGetProcessID);
bool result = 0;
char user_id[]="user";
result = init(user_id);
Как сделать вызов функции независимо от местоположения каст файла?
И тогда, если я хочу вызвать функцию dll из апплета, в этом случае я не получу функцию правильно? Поскольку класс java, который загружает библиотеку, находится где-то в папках браузера. –
@hello_amigo: Основная задача, как я уже сказал, - определить, как находится файл INI. Это может быть, например, функция «Текущий рабочий каталог», которая в целом непредсказуема. – MSalters