Report in DLL picking up Pipelines from calling EXE
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
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
This discussion has been closed.
Comments
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