Базы данных и знаний. Проектирование баз данных по технологии "клиент-сервер" и разработка клиентских приложений. Токмаков Г.П. - 109 стр.

UptoLike

Составители: 

- 109-
Теперь, как и в предыдущем случае рассмотрим процедуры, которые
будут
экспортироваться из DLL и вызываться другим и модулями. Таких
процедур
три:
procedure CreateListDlg(Handle:THandle; p:pointer);
procedure SetListConnection(const DBHandle:HDBIBB);
procedure ShowListDlg;
Первая процедура создает диалоговое окно, вторая - производит
подклю-
чение к БД, а третья - загружает и освобождает диалоговое окно.
procedure CreateListDlg (Handle: Thandle; p: pointer);
begin
Application.Handle:=Handle;
flGroups:=TfIGroups.Create(Application);
if assigned(p) then
flGroups.Groups:=TGroups(p);
end;
procedure SetListConnection(const DBHandle: HDBIDB);
begin
flGroups.Databasel.Handle:=DBHandle;
end;
procedure ShowListDlg;
begin
with flGroups do
begin
if LoadList then
begin
ShowModal;
flGroups.Free;
end;
end;
end;
Экспортируемые функции должны быть описаны в модуле проекта DLL,
поэтому добавьте в фа йл dlglib02 .dpr раздел exports. Фа йл проекта должен
выглядеть следующим образом:
library dlglib02;
uses
SysUtils,
Classes,
ulGroups in 'ulGroups.pas' {flGroups};
ucGroups in '..\common\ucGroups.pas',
{$R *.res}
exports
CreateListDlg name 'CREATELISTDLG',
SetListConnection name 'SETLISTCONNECTION',
ShowListDlg name 'SHOWLISTDLG';