AddDrawCommand - Cannot add more than one draw outline command perp age error
Hi,
I am using ReportBuilder 19.01 with Delphi 10.2 update 2 and am getting the above error message when running a report that has worked and not been changed for several years. The report has header, footer, summary & detail sections with a single subreport. The two datasources are dbGo queries. The error does not always occur so I guess it is related to the data somehow (I suspect the length of the subreport as this spans several pages in the case that is giving an error).
The call stack is:
exception class : EOutlineError
exception message : TppPage.AddDrawCommand: Cannot add more than one draw outline command per page.
main thread ($175c):
00f1f55f +01f MyApp.exe ppForms TppForm.ShowModal
00f171e1 +089 MyApp.exe ppProd TppProducer.PrintToScreen
00f16e9f +05f MyApp.exe ppProd TppProducer.Print
00f82fa9 +02d MyApp.exe ppReport TppReport.Print
Do you have any suggestions of likely causes / areas to investigate?
Many thanks
Steve Everington
I am using ReportBuilder 19.01 with Delphi 10.2 update 2 and am getting the above error message when running a report that has worked and not been changed for several years. The report has header, footer, summary & detail sections with a single subreport. The two datasources are dbGo queries. The error does not always occur so I guess it is related to the data somehow (I suspect the length of the subreport as this spans several pages in the case that is giving an error).
The call stack is:
exception class : EOutlineError
exception message : TppPage.AddDrawCommand: Cannot add more than one draw outline command per page.
main thread ($175c):
00f1f55f +01f MyApp.exe ppForms TppForm.ShowModal
00f171e1 +089 MyApp.exe ppProd TppProducer.PrintToScreen
00f16e9f +05f MyApp.exe ppProd TppProducer.Print
00f82fa9 +02d MyApp.exe ppReport TppReport.Print
Do you have any suggestions of likely causes / areas to investigate?
Many thanks
Steve Everington
Comments
This is not a known issue. Try setting Report.PreviewFormSettings.SinglePageOnly to True - this will force the report to generate in the main thread. For testing also set Report.PassSetting to psOnePass. Run the report in the Delphi debugger and when the error occurs examine the call stack.
If would like to create an example project I can build and run in the debugger I can research it. Create a new Delphi project, use standard Delphi components and RB. Copy data to TClientDataSets. Send zip to support@
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com