Components๐
Fomin Report Builder is structured around a flexible, modular architecture that blends Clarion templates, object-oriented class libraries, and external DLLs. This lets developers easily integrate powerful reporting capabilities into their applications while giving users full control at runtime.
๐งฑ Core Components Overview๐
| Component | Purpose |
|---|---|
| RBC-library | Object-oriented core in a DLL (Report Builder Classes) |
| FRB/FRBC Template Sets | Template sets for Legacy (FRB) and ABC (FRBC) chains |
| ReportManager | Tree-style report organizer interface |
| RunTimeReport | Main runtime procedure for building/editing reports |
| Dictionary Interface | Field and formula expression helper |
| Code & Extension Templates | Templates for buttons, previewers, and code hooks |
๐ง RBC-library๐
The RBC (Report Builder Classes) library is the compiled core of FRB.
- Delivered as a DLL or LIB (e.g. standalone
ClaFRB.DLLor localClaFRBL.LIB) - Contains report formatter, processor, and runtime engine
- Uses object-oriented Clarion to manage
.rptfiles - Works in MDI/SDI applications
Every FRB-enabled application loads this DLL at runtime, enabling report layout, data binding, filtering, evaluation, and printing.
๐ Distribute the DLL(s) with your
.EXEwithout any runtime royalties.
๐งฉ Template Sets: FRB & FRBC๐
โ
FRB.TPL๐
- For Legacy template chain
- Works in Clarion for Windows 2.0, Clarion 4, Clarion 5
โ
FRBC.TPL๐
- For ABC template chain
- Also works with Clarion 4 and Clarion 5
- Supports the
FRBClassobject model
๐ฏ Both sets include identical functional components via Clarion templates and control templates.
๐๏ธ Procedures๐
RunTimeReport๐
- The main runtime report editor
- One procedure = one report type (VIEW structure)
- Let users create, edit, filter, sort, and print
.rptreports - Exposes settings like preview mode, print dialog, field binding, other data, and user functions
ReportManager๐
- Tree-style report file browser
- Displays
.rptfiles grouped by type and directory - Lets users Insert, Change, Delete, and Print
- Customizable root-level titles and search paths
- Built using the
ReportManagerTreecontrol template
๐ Multiple
RunTimeReportprocedures can be registered with a singleReportManager.
๐งฐ Control Templates๐
These extend your Clarion UI with buttons and LIST controls that wire into FRB's runtime:
| Template Name | Function |
|---|---|
ReportManagerTree |
Tree-like view of .rpt files |
ReportManagerUpdateButtons |
Insert, Change, Delete buttons |
ReportManagerSelectButton |
Print selected report |
ReportManagerExpandContractButtons |
Expand/Collapse tree branches |
InvokeDictionary |
Lookup for runtime formula variables |
Use these templates to enrich the ReportManager and enable deep runtime interaction.
๐ง Extension & Code Templates๐
| Template Name | Use Case |
|---|---|
CorrectReportClosing |
Ensures proper MDI shutdown of formatter windows |
IdentifyFields |
Exposes calculated fields to other app procedures |
PreviewCPCS |
Enables CPCS-style preview integration |
PreviewRPM |
Enables Report & Presentation Manager (RPM) preview |
LaunchRunTimeReport |
Embeds FRB report launching logic in any procedure via code injection |
๐งโ๐ง Application Dictionary Integration๐
When building RunTimeReport, you configure:
- Table Fields: Available for use in filters and frames
- Other Data: Module/global/local variables exposed to users
- User Functions: Custom procedures users can reference in formulas (e.g. SQL queries)
You also define: - Field name bindings - Dictionary help through the [Dictionary] interface - Optional variable prefixes by table
๐งฉ The more you expose cleanly, the more your users can leverage FRBโs flexibility.
๐งฎ Expression & Formula Engine๐
FRB uses Clarionโs EVALUATE() function to process:
- Arithmetic and string logic
- Date/time operations
- Trigonometric functions
- User-defined procedures
- Frame contents, section conditions, filters
Expressions are stored directly inside .rpt files and evaluated dynamicallyโno compilation needed.
๐ฆ File Format๐
Each report is saved as a .RPT file:
- Self-contained: includes layout, data bindings, filters, and expressions
- Stored in a TopSpeed database container
- Portable, editable, and easy to distribute
Reports can be previewed, duplicated, and sent via emailโno app update required.
๐ Resource Files Summary๐
Youโll use or deploy:
| File | Purpose |
|---|---|
C5FRB.DLL, C4FRB.DLL |
Runtime engines |
frb.tpl, frbc.tpl |
Template sets for Clarion |
frbclass.clw, frbclass.inc |
RBC class source (for reference) |
frb_nls.ini |
National Language Support file |
.rpt files |
User-created report definitions |