unit MegaDemoClient_Data; interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uROClient, uROClientIntf, uRORemoteService, uROBinMessage, uROWinInetHTTPChannel, {Data Abstract:} uDADataTable, uDABINAdapter, uDAInterfaces, uDADataStreamer, uDARemoteDataAdapter, MegaDemoLibrary_Intf, uDAScriptingProvider, uDACDSDataTable; type TMegaDemoClient_DataModule = class(TDataModule) Message: TROBinMessage; Channel: TROWinInetHTTPChannel; RemoteService: TRORemoteService; DataStreamer: TDABinDataStreamer; rdaCustomers: TDARemoteDataAdapter; tbl_Customers: TDACDSDataTable; ds_Customers: TDADataSource; tbl_OrdersByCustomer: TDACDSDataTable; ds_OrdersByCustomer: TDADataSource; rdaOrders: TDARemoteDataAdapter; procedure DataModuleCreate(Sender: TObject); procedure DataModuleDestroy(Sender: TObject); private { Private declarations } public { Public declarations } fLoginInfo: LoginInfo; fLoginService: ILoginService; fOrdersService: IOrdersService; function LoggedIn: Boolean; end; var MegaDemoClient_DataModule: TMegaDemoClient_DataModule; implementation {$R *.dfm} { TMegaDemoClient_DataModule } function TMegaDemoClient_DataModule.LoggedIn: Boolean; begin Result := fLoginInfo <> nil; end; procedure TMegaDemoClient_DataModule.DataModuleCreate(Sender: TObject); begin fLoginService := CoLoginService.Create(Message, Channel); fOrdersService := CoOrdersService.Create(message, Channel); end; procedure TMegaDemoClient_DataModule.DataModuleDestroy(Sender: TObject); begin if fLoginInfo <> nil then fLoginInfo.Free; end; end.