unit CalcFields_ClientData; interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uROClient, uROClientIntf, uRORemoteService, uROBinMessage, uROWinInetHTTPChannel, {Data Abstract:} uDADataTable, uDABINAdapter, uDAInterfaces, uDACDSDataTable, uDAScriptingProvider, uDARemoteDataAdapter, uDADataStreamer, uROIndyTCPChannel, uROIndyHTTPChannel, uDABin2DataStreamer, uDAMemDataTable; type TCalcFields_ClientDataForm = class(TDataModule) ROMessage: TROBinMessage; ROChannel: TROWinInetHTTPChannel; RORemoteService: TRORemoteService; DARemoteDataAdapter: TDARemoteDataAdapter; DataStreamer: TDABin2DataStreamer; tbl_Customers: TDAMemDataTable; ds_Customers: TDADataSource; procedure DataModuleCreate(Sender: TObject); procedure tbl_CustomersCustomerIDChange(Sender: TDACustomField); procedure tbl_CustomersCompanyNameChange(Sender: TDACustomField); procedure tbl_CustomersCalcFields(DataTable: TDADataTable); private { Private declarations } public { Public declarations } end; var CalcFields_ClientDataForm: TCalcFields_ClientDataForm; implementation {$R *.dfm} procedure TCalcFields_ClientDataForm.tbl_CustomersCalcFields( DataTable: TDADataTable); begin if DataTable.FieldByName('ServerCalculated').IsNULL then DataTable.FieldByName('ClientCalculated').AsString := '' else DataTable.FieldByName('ClientCalculated').AsString := 'Got #' + DataTable.FieldByName('ServerCalculated').AsString; end; procedure TCalcFields_ClientDataForm.tbl_CustomersCompanyNameChange( Sender: TDACustomField); begin Beep; end; procedure TCalcFields_ClientDataForm.tbl_CustomersCustomerIDChange( Sender: TDACustomField); begin Beep; end; procedure TCalcFields_ClientDataForm.DataModuleCreate(Sender: TObject); begin DARemoteDataAdapter.SetupDefaultRequest; end; initialization end.