Вниз
Скачать: CL | DM;

Работа с динамическими DLL   Найти похожие ветки 

 
Vovik ©   (2002-06-13 12:24) [0]

Здравствуйте!!!
Из главной программы подключаю DLL:

procedure TForm1.N41Click(Sender: TObject);
var Hbar1: Thandle;
Foo1: procedure;
begin
Hbar1 := LoadLibrary("DLL\fastinfo.dll");
if Hbar1 >= 32 then { успешно }
begin
Foo1 := GetProcAddress(HBar1, "fastinfoShow");
Foo1;
end
else
MessageDlg("Ошибка: не могу найти DLL", mtError, [mbOk], 0);
end;

Подскажите,как передать в DLL некоторые переменные из главной программы.
Заранее спасибо.


 
Fiend ©   (2002-06-13 12:37) [1]

я от так делал:
type
TCompileReportScript = function (pCROSSReport: pointer; pReportScript: PChar; pReportStrings: pointer; fDebug: longbool): longbool;

var CompileReportScript: TCompileReportScript;
@CompileReportScript:= GetProcAddress(hCROSSReportCommonLibrary, "CompileReportScript");

затем вызываю:
CompileReportScript(fCROSSReport, PChar(fHTTPFields.Values["fReportScript"]), pointer(DWORD(fReportStrings)+StrLen(fReportStrings)), true);

всё работает ОКИ, тока не забудь к моему куску добавить загрузку библии


 
Vovik ©   (2002-06-13 12:52) [2]

Ты не мог бы скинуть кусок своего кода с вызовом DLL с параметрами, а то я чтото немного не понял как это делать.


 
Fiend ©   (2002-06-13 12:57) [3]

Да я ж вроде достаточно подробно описал, что ты не понял?
Последняя строка и есть вызов функции в библии, просто так длинно выглядит, потому что привожу типы. Посмотри внимательно.
Стучись в асю, если не поймёшь


 
Vovik ©   (2002-06-13 17:14) [4]

А можно ли сделать что-нть похожее:
В DLL:

var pCount:PInteger;

procedure SetPointers(pCnt:PInteger);
begin
pCount:=pCnt
end;

в главной программе:

var Count:Integer;
...
Foo2:=GetProcAddress("SetPointers");
Foo2(@Count);
...

Если можно , то как при этом объявлять процедуру в программе?
var Foo2: procedure - не работает.




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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.044 c
4-77665
gate A20
2002-04-24 20:13
2002.06.24
кодировка клавиатуры


1-77437
Fixxxer
2002-06-10 14:21
2002.06.24
Как сохранить содержимое экрана в файл


14-77560
Song
2002-05-20 10:55
2002.06.24
Чего-то форум колбасит... Или только у меня?


14-77552
Satay
2002-05-20 13:14
2002.06.24
Help .....


1-77432
Belov
2002-06-10 15:27
2002.06.24
Как получить скриншот




   Наверх