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

Error Message "New components cannot be added to frame instances"

edited August 2002 in General
Hi,

I want to create an EndUser-Report, which is loaded from a Database. The
Report is loaded by a frame, so that I can use the frame for several reports
in several units.

When I want to put data fields on the Enduser-Report, I get the Error
message 43686, "New components cannot be added to frame instances.".

Why do I get this error?

What can I change to avoid the error?

Thanks

Peter Brill

invent GmbH

Comments

  • edited August 2002
    You should use forms or data modules rather than frames.

    Here is a snipped from the RBuilder Release.doc regarding frames:

    2. Issues with Frames



    Delphi 6 Frames (TFrame) are containers that enable collections of
    components to be visually configured and re-used. Unlike form inheritance,
    however, Delphi 6 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.


    --
    Cheers,

    Alexander Kramnik
    Digital Metaphors

This discussion has been closed.