On the client side, use the DADE plug-infor DataSnap (daDataSnap.pas) and ClientDataSets. On the server side define the supporting data access components and implement a simple IReportExplorer interface.
Download: RBEndUserWithDataSnap.zip
DataSnap Client
1. Connect the ReportExplorer to ClientDataSets.
ClientDataset --> DBPipeline --> ReportExplorer
2. Include daDataSnap.pas. This will register a DADE session type called DataSnapSession. Set the Designer.DataSettings.SessionType to DataSnapSession.
DataSnap Server
1. Define the supporting data access components for ReportExplorer and optionall for the DataDictionary.
2. Add an additional query component called qryDummy. This is used to provide data to the DataSnapSession on the client.
3. Implement the IReportExplorer interface, which consists of a single method called GetTableNames.