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

ReportBuilder standard, used with Delphi Form Inheritence, revert to inherited does not always work

edited July 2012 in General
Hi,

I am working on an old inhouse application that uses a lot of form
inheritence with forms containing TppReport components. I found that "revert
to onherited" does not work with the top, left, width and height properties
of Tpp components. I recently upgraded from ReportBuilder Standard V7.x to
ReportBuilder 14.05 standard, but the problem still remains. There are many
reports on the fosm using form inheritrence, and at some base level, the
whole look and feel of the reports have to change. I made to changes to a
base class, and now have a lot of worj to propogate these propertiews to
descendent classes. "Revert to inherited" would have made it a bit easier.

Any ideas?

Best regards
Ludek

Comments

  • edited July 2012

    Delphi form inheritance is handled primarily by the Delphi IDE. Have not
    heard of the 'Revert to inherited' feature before but researched it. I
    created a simple test here using Delphi XE2 and RB 14.05. I created an
    ancestor form with a report. The report has two labels in the header. I
    created a descendant form and repositioned the labels. I saved the two
    forms. I re-opened the descendant form and can use 'Revert to inherited' to
    restore the labels to the position of the ancestor. I can also modify the
    position of the labels in the ancestor form and then use 'Revert to
    inherited' on the descendant. The report labels are repositioned to reflect
    the ancestor. Note, I tested this for the TppReport component. There is
    nothing in the report designer to select a label and tell it to 'Revert to
    inherited'.

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

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited July 2012
    Hi Nard,

    Thanks for the quick reply.

    My problem is not with reverting the entire form or the entire TppReport
    component to the inherited propertiers, but rather to revert all properties
    of a Tpp component in the report, or even a single property of the Tpp
    componnent, to inherited.
    I am still using Delphi 7 (sigh). This option is only available from the
    Delphi object inspector, and not from the on in the Reportbuilder designer's
    object inspector. If you right click on an individual property on the Delphi
    7 object inspector, revert to inherited is available for most properties,
    even for height and widt properties for Tpp components. It is also available
    if you right click near the top of the Delphi 7 object inspector, where it
    shows the currently selected component, to revert all published properties
    to that of the descendant. If I use either of these options on a Tpp
    component, it will revert certain properties, e.g. the font color and the
    color, but not the width and height.

    I don't wan to revert entire reports, just certain inherited component, or
    certain properties of certaion components.

    It may be usefull to add the same revert to inherited popup to the Report
    Builder Designer object inspector? Reverting to inherited normally simply
    means deleting the "inherited" property from the .dfm file, which will then
    default to inherited anyways.

    Best regards
    Louis.

This discussion has been closed.