Текущий архив: 2002.09.16;
Скачать: CL | DM;
Вниз
Как вызвать функцию в DLL из EXE? Найти похожие ветки
← →
a413 © (2002-09-04 16:22) [0]Возникла проблема вызова функции в DLL из EXE. Как это сделать? В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник? Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?
← →
Александр Спелицин © (2002-09-04 16:30) [1]А повнимательнее прочитать про LoadLibrary, GetProcAddress?
← →
neg2001 (2002-09-04 16:30) [2]В dll нужно передать указатель на твою функцию, например в качестве параметра какой либо другой функции, а в dll- ке вызвать функцию используя этот указатель.
← →
a413 © (2002-09-04 16:43) [3]А повнимательнее прочитать про LoadLibrary, GetProcAddress?
--------
Ну могу найти.... Облысею быстрее...
← →
Старый Паскалист (2002-09-04 17:00) [4]LoadLibrary можеьт не только динамически загрузить ДЛЛ,
но и вернуть HMODULE любого уже загруженного в память процесса модуля, будь то dll или exe.
s := ParamStr(0); // Имя ехешника
hinstExe := LoadLibrary(PChar(s));
proc := GetProcAddress(hinstExe, "SomeProc");
...
FreeLibrary(hinstExe);
Но, естественно, ты должен сделать в основной программе
exports
SomeProc;
← →
Старый Паскалист (2002-09-04 17:06) [5]PS Только лучше вместо LoadLibrary использовать GetModuleHandle;
(и FreeLibrary тогда не надо)
← →
Старый Паскалист (2002-09-04 17:13) [6]PPS Это всё так, теория.
В жизни же гораздо проще последовать совету neg2001 (04.09.02 16:30)
← →
a413 © (2002-09-04 20:19) [7]Огромное спасибо! Но если я правильно понял, для глобальных переменных придется проделывать такую же процедуру? Заводить указатель в DLL, и через функцию устанавливать его в нужное значение (как в EXE).
Страницы: 1 вся ветка
Текущий архив: 2002.09.16;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.012 c