Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизПодключение 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.041 c