Home Datapipelines

Report in DLL picking up Pipelines from calling EXE

edited November 2008 in Datapipelines
Hi

Using Delphi 6, RB 10.07 Enterprise. This didn't used to happen so I wonder
if something has changed in RB.

I have a DLL that contains several reports on different forms, each with its
own ppReport, ppDesigner and pipelines. The main EXE calls the DLL if one of
the reports needs to be printed or designed. Note that TForms are used, not
TDataModules.

None of the pipelines from the other forms in the DLL appear in the designer
view (which is the behaviour I expect and want because they're not
datamodules) but pipelines from datamodules in the calling EXE do appear in
the list. Although I'm impressed that this is possible, this is not
behaviour I want.

Is this what you'd expect to happen? Has this been added by design or by
mistake because I and my users can guarantee this did not happen with
earlier releases of RB.

Thanks,
Jason.

--
Jason Sweby
Software Development Manager,
Carval Computing Limited, Plymouth, UK

Payroll - HR - T&A - Access Control

Comments

  • edited November 2008


    I recommend not having any auto-create forms in your projects - except for
    the main form. Create forms only when needed and Destroy them after the
    report is designed/generated. This keeps things simple, minimizes resource
    usage, and maximizes performance.

    Open ppDB.pas and located the method TppDataPipelineList.BuildListRunTime.
    This method contains the relevant code. It iterates over the
    Screen.DataModules and Screen.Forms. I compared RB 11 to RB 7.04, the method
    is unchanged. It is a simple method, you can modify it if you prefer.


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

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.