M Y D E L P H I 7 . R U Самоучитель программирования  
 
  • Главная
  •  

     

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

    Пример клиентского приложения является частью группы проектов 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;