Rave End-User Design Support

Category

Rave - General

Question

I have purchased Rave Reports 11 Architect. What steps do I need to take to enable my users to create/modify their own reports?

Solution

Providing End User design support

One of the more powerful features of Rave is the ability to provide end-user report design capability in your application (Requires Rave Reports Architect). This will give your end-users the ability to modify or create new reports. Allowing your users to modify/create reports is quite easily done but does require a few additional steps when deploying your application. The first is the distribution of the visual designer itself. There are two DLL files located in the \RAVE11\REDIST directory called RaveSolo.dll and RavePack.dll. RaveSolo.dll is a standalone file that has the advantage of fewer files and smaller overall size, but does not allow the addition of custom components, editors or wizards. RavePack.dll uses several package files that need to be distributed along with it and also allows the addition of custom components, editors and wizards to the end-user's visual designer. The following is a list of the package files normally shipped with RavePack.dll (all are located in the \RAVE11\REDIST directory):

Delphi XE3 Packages Required by RavePack.dll
VCL170.BPL - The main Delphi XE3 VCL library file
VCLX170.BPL - The extra Delphi XE3 VCL library file
dbrtl170.bpl
rtl170.bpl
vclimg170.bpl
vclactnband170.bpl

Component, Editor and Wizard library files
RvCore110.bpl - The main Rave 11.0 library file
RvBarcode110.BPL - The Rave 11.0 barcode components
RvCompiler110.bpl - The Rave 11.0 Delphi Syntax Compiler
RvDesign110.bpl - The Rave 11.0 Designtime Editors and Wizards
RvEngine110.bpl - The Rave 11.0 Language Engine
RvGraphics110.bpl - The Rave 11.0 graphics components
RvReport110.bpl - The Rave 11.0 reporting components
RvStandard110.bpl - The Rave 11.0 standard components

The Component, Editor and Wizard library files need to be listed in the rave.ini file under a section called [Packages] in order for Rave to load them. The one exception to this is the RvCore110.bpl, which should not be listed in the packages list. Here is a typical default [Packages] section:

[Packages]
Rave Graphics Components=RvGraphics110.bpl
Rave Barcode Components=RvBarcode110.bpl
Rave Standard Components=RvStandard110.bpl
Rave Report Components=RvReport110.bpl
Rave Language Engine=RvEngine110.bpl
Rave Delphi Syntax Compiler=RvCompiler110.bpl
Rave Design-time Library=RvDesign110.bpl

If you decide to include the end-user designer with your application, you will also need to initialize the TRaveProject component's LoadDesigner property to true and DLLFile property to the name of the Rave Designer DLL file you are using. The DLLFile property also allows you to change the name of the RaveSolo.dll or RavePack.dll file to another name (although the library package filenames should remain the same).

Executing the End User Report Designer
Lastly, in order to execute the End User Report Designer, just call

MyRvProjectComponent.Design;