Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Can RB 12 Professional Fileversion 12.0.5.251 be used with Frames in Delphi 2009 ?

edited January 2013 in General
Hello.

I'm a newbie on both Report builder and Frames.
Trying to combine theese two, I get an error as soon as I try to change
something in the report layout in design time.
This error says that there is already a Field with that name. Then I'm
not allowed to change anything that might correct the error because the
error message is on modalform.
Whatever I click on the modal errorform, the OK button or the X in the
corner it comes back in a iteration so I have to use Ctrl+Alt+Delete to
shut down Delphi by brute force.

It would be nice if I could use the pp components in the frame, but for
now I'm forced to use them in the Form itself and not in the frame.

Since the error message goes into a loop, I do not find out where the
error occours.

Any advice?
Thanks in advance.

:)
Kai Inge

Comments

  • edited January 2013
    Welcome to the ReportBuilder community :)

    There is a note in the Release.doc installed with RB. I pasted a copy of the
    relevant information below. When using Form inheritance also note that you
    will need to set DataPipeline.AutoCreateFields to False or place the
    DataPipeline on the descendant form only.

    From a Design standpoint I would not use Frames or Form inheritance for
    reports. Instead I would either place each report on a separate
    form/datamodule - see the Report Develops Guide Application tutorials for an
    example. Or I would store the reports in a database or .rtm files. For an
    example of storing reports in a Database, see Demos\Enduser\ReportExplorer.

    Here is a list of resources for RB

    http://www.digital-metaphors.com/rbWiki/General/Getting_Started/Resources_for_Learning_RB


    Here are the details about Frames from the Release.doc installed with the
    product...

    2. Issues with Frames

    Frames (TFrame) in Delphi are containers that enable collections of
    components to be visually configured and re-used. Unlike form inheritance,
    however, Delphi does not permit new components to be added to frame
    descendants (i.e. frames embedded on forms or other frames).

    Therefore, if a Report object is placed on a frame, the report layout must
    be maintained entirely in the top level ancestor. You cannot access a form
    containing the frame and add report components, nor can new report layouts
    be loaded from templates.

    ReportBuilder's DBPipeline and BDEPipeline components cannot currently be
    used with frames. Both of these components automatically create Field
    components (i.e. AutoCreateFields) when a dataset is opened. This behavior
    will cause access violations if a data pipeline is placed in a descendant
    frame.



    -
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited January 2013
    Nard Moseley (Digital Metaphors) wrote:

    http://www.digital-metaphors.com/rbWiki/General/Getting_Started/Resources_for_Learning_RB

    Thank you very much.

    This explains the problems experienced. I also got a Stack Overflow
    error at Delphi shutdown, probably of the same reason.

    If I can use the report component itself in the frame, this will be
    enough standardization for me,
    because I'm then allowed to have a ready made frame unit that can be
    ported to new projects with a standard report for that frame.
    Afterwards I can create the pipeline in the form where the frame is
    used, no problem.

    Thanks again.

    :)
    Kai Inge
This discussion has been closed.