We are migrating our applications from using CRPE and the VCL to the .NET API. All is going well, except for a couple of missing features.
When an app prints to the printer via CRPE, a Print Progress dialog appears and the user can cancel printing. And when an app creates a print window, the window has a Cancel button on the toolbar.
Both of these features are absent from the .NET API. In addition, it doesn't appear that there is a way for the app to stop report processing (for print or preview) programmatically. Although ReportDocument fires certain events during processing, there is no provision (as far as I can see) for the app to respond to one of these events in such a way as to stop processing normally. The app can throw an exception in the event handler, and this will stop processing, but will also cause an error message dialog to appear.
Our use of the .NET API is entirely in-process, so in our scenario there is no issue of coordinating with a remote report processing server.
Our apps can create gigantic reports and our users have often benefited from the ability to cancel a big job started in error.
Can you please feed back to Product Management that the ability to cancel a print or preview job is very desirable?
It should certainly be possible to restore the cancel button to the preview control. I can understand the reasons why the Print Progress dialog is not shown: the print engine itself does not want to be in the business of UI. However, I think the engine could fire events during processing that allow the app to signal cancellation, and it would be up to the app to manage the UI for this.
To other 3rd-party developers: if you agree that these features are very important, please add a brief comment to this discussion.
Thanks!
- rick cameron
Softrak