Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

Подключение DLL по ходу выполнения програмы.   Найти похожие ветки 

 
sashok   (2004-07-11 13:28) [0]

У меня в dll такая процедура:

Procedure AA(Form:TForm; str:tstringgrid);
Var MyForm:TDllForm;
Begin
MyForm:=TDLLForm.Create(Form.Owner);
MyForm.ShowModal;
str.Cells[1,1]:=MyForm.Edit1.Text;
MyForm.Free;
End;

Если из своей програмы я подключаю жостко dll - работает:

Procedure AA(Form:TForm; str:tstringgrid);
External "dll.dll";

А если я делаю так:

Type TAA=Procedure(Form:TForm; str:tstringgrid);
...
var dllhandle:HMODULE;
   AA:TAA;
...

dllhandle:=LoadLibrary(PChar("dll.dll"));
AA:=TAA(GetProcAddress(dllhandle,"AA"));
AA(Form1, StringGrid1);
FreeLibrary(dllHandle);

То пишет Access violation in module "dll.dll"

Как мне правильно подключить по ходу программы dll так, чтобы процедура нормально работала?


 
GrayFace ©   (2004-07-11 14:26) [1]

В примере по Hooks это делается так: @AA:=GetProcAddress(dllhandle,"AA"); И еще эта dll может отсутсвовать, тогда dllhandle будет иметь соответствующие значение.


 
sashok   (2004-07-11 14:53) [2]

Это роли не играет


 
Rouse_ ©   (2004-07-11 22:54) [3]

var
 TA:Procedure(Form:TForm; str:tstringgrid); stdcall;

...

@TA := GetProcAddress(dllhandle,"AA");



Страницы: 1 вся ветка

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
14-1089230273
KilkennyCat
2004-07-07 23:57
2004.07.25
А комментарии в "Фотоприколах" кто-нить модерирует?


10-1024206158
jo frodo
2002-06-16 09:42
2004.07.25
rebind() в INS


14-1089300094
СатирЪ
2004-07-08 19:21
2004.07.25
Proxies.dcu


1-1089692376
depresnjak
2004-07-13 08:19
2004.07.25
почему изменяется буфер у процедуры blockwrite


6-1085730896
panov
2004-05-28 11:54
2004.07.25
Indy v.8 Получение Header ответа сервера.