Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.24;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.021 c
1-77364
Reticent
2002-06-13 12:47
2002.06.24
мааааленький вопросик про память


8-77511
pIt
2002-02-09 03:55
2002.06.24
Bitmap ы из DLL ки или чужого EXE ка


7-77655
Miron12
2002-03-27 13:01
2002.06.24
как со своего приложениея упралять сервисов под w2k


1-77337
Sticky Fingaz
2002-06-06 20:25
2002.06.24
Интернет в локалке


3-77250
MViper
2002-05-29 16:09
2002.06.24
Оптимизация работы с базой данных