Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.02 c
1-50751
kerkonst
2002-09-03 11:18
2002.09.16
Как дождатся конца работы проги, запущенной через ShellExecute ?


7-50995
wistler
2002-07-04 22:56
2002.09.16
Программирование модема.


1-50795
Adil Aliev
2002-08-31 07:52
2002.09.16
Decompilator


3-50648
Sub
2002-08-27 11:19
2002.09.16
Вопросы по базам данных


1-50853
Filat
2002-09-02 13:00
2002.09.16
Срочно!!! Delphi 6 и VG Library как подружить?