Пример "тонкого" клиента
Пример клиентского приложения является частью группы проектов SimpleRemote.bpg и предназначен для взаимодействия с сервером приложений simpleAppSrvr (рис. 22.5), процесс создания которого подробно рассматривался в гл. 21.
Рис. 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;