The MoniLayerClients sample shows you how to use the FireDAC tracing and monitoring capabilities to show how an application is communicating with a FireDAC monitor client. To this end, the sample uses two different FireDAC monitor clients: FlatFile-client and Remote-client. To use both monitor clients, the sample uses two client link components: the TFDMoniFlatFileClientLink component and the TFDMoniRemoteClientLink component.
Table of Contents
Location
You can find the MoniLayerClients sample project at:
- Start | Programs | Embarcadero RAD Studio Sydney | Samples and then navigate to:
Object PascalDatabaseFireDACSamplesMoni LayerClients
- Subversion Repository:
- You can find Delphi code samples in GitHub Repositories. Search by name into the samples repositories according to your RAD Studio version.
How to Use the Sample
- Navigate to the location given above and open
Clients.dproj. - Press F9 or choose Run > Run.
- Click on the Use Connection Definition combo box and select an option; for example:
EMPLOYEE. - Select a monitor client.

Files
| File in Delphi | Contains |
|---|---|
Clients.dprojClients.dpr | The project itself. |
fClients.pasfClients.fmx | The main form. |
Implementation
The following steps are needed to implement the sample.
Define the trace / monitor output of a connection definition
Type the following code to set up a connection definition using none, remote or flat file monitoring.
var oConnectionDef: IFDStanConnectionDef; begin oConnectionDef := ... ... // Set up connection def to use none client oConnectionDef.Params.MonitorBy := 'None'; ...
or
... // Set up connection def to use Remote client oConnectionDef.MonitorBy := 'Remote' ...
or
... // Set up connection def to use Remote client oConnectionDef.Params.MonitorBy := 'FlatFile'; ...
Output user messages
Use this code to produce custom trace outputs.
var oMoni: IFDMoniClient; begin //... oMoni.Tracing := True; oMoni.Notify(ekVendor, esStart, Self, 'Start monitoring', ['Form', 'frmClients']); oMoni.Notify(ekVendor, esProgress, Self, 'Progress monitoring', ['Form', 'frmClients']); oMoni.Notify(ekVendor, esEnd, Self, 'End monitoring', ['Form', 'frmClients']); oMoni.Notify(ekError, esProgress, Self, 'Error during monitoring', ['Form', 'frmClients']); oMoni.Tracing := False; //...
Output example
The following image is an example of the trace output produced with a flat file monitor client.

For more information, please follow the link to the original post:
http://docwiki.embarcadero.com/CodeExamples/Sydney/en/FireDAC.MoniLayerClients_Sample
Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Free Delphi Community Edition Free C++Builder Community Edition







