Иллюстрированный самоучитель по Delphi 7 для профессионалов

Пример "тонкого" клиента

Пример клиентского приложения является частью группы проектов SimpleRemote.bpg и предназначен для взаимодействия с сервером приложений simpleAppSrvr (рис. 22.5), процесс создания которого подробно рассматривался в гл. 21.

Иллюстрированный самоучитель по Delphi 7 для профессионалов › Клиент многозвенного распределенного приложения › Пример "тонкого" клиента
Рис. 22.5. Окно клиентского приложения Simple Client

Проект клиента Simple Client состоит из двух файлов.

  • Компоненты, обеспечивающие соединение с удаленным сервером приложения и работу с наборами данных, сосредоточены в модуле данных DataModule (файл uDataModule.pas). Обратите внимание, что это "обычный" модуль данных, используемый в приложениях баз данных (см. гл. 11).
  • Главная форма клиентского приложения fmMain (файл uMain.pas), содержащая визуальные компоненты пользовательского интерфейса.

Листинг 22.1. Секция implementation модуля данных DataModule.

implementation
uses uMain, Variants, Dialogs;
{$R *.dfm}
procedure TDM.SrvrConAfterConnect(Sender: TObject);
var i: Integer;
begin
for i: = 0 to SrvrCon.DataSetCount -1 do
SrvrCon.DataSets[i].Open;
cdsVendors.Open;
end;
procedure TDM.SrvrConBeforeDisconnect(Sender: TObject);
var i: Integer;
begin
for i: = 0 to SrvrCon.DataSetCount -1
do SrvrCon.DataSets[i].Close;
cdsVendors.Close;
end;
procedure TDM.cdsVendorsAfterScroll(DataSet: TDataSet);
begin
fmMain.edCostSum.Text: = VarToStr(cdsParts.Aggregates[0].Value);
fmMain.edPriceSum.Text: = VarToStr(cdsParts.Aggregatesfl].Value);
end;
procedure TDM.cdsPartsReconcileError(DataSet: TCustomClientDataSet;
E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction);
begin
cdsParts.CancelUpdates;
MessageDlg(E.Message, mtError, [mbOK], 0);
end;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.