Is RB 10 Thread Safe?
Hi,
I am trying to integrate RB 10.03 into an Intraweb Application in BDS 2006.
I'm using the Pragnann components to export the report output to PDF & HTML
So I'm using
ExportToHTML(ppReport1,fpath);
& ExportToPDF(ppReport1,fpath);
This works fine with a single user, but with 2 or more simultaneous users it
fails?
NB: fPath = GServerController.FilesDir + WebApplication.AppID + PATHDELIM +
;
Many Thanks
Shahine
I am trying to integrate RB 10.03 into an Intraweb Application in BDS 2006.
I'm using the Pragnann components to export the report output to PDF & HTML
So I'm using
ExportToHTML(ppReport1,fpath);
& ExportToPDF(ppReport1,fpath);
This works fine with a single user, but with 2 or more simultaneous users it
fails?
NB: fPath = GServerController.FilesDir + WebApplication.AppID + PATHDELIM +
;
Many Thanks
Shahine
This discussion has been closed.
Comments
RB 10.x is designed to be completely thread safe. If you remove any third
party components from your application such as Pragnaan, are you still able
to recreate the error? Perhaps using the native PDF export?
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
I will try that.
I thought the standard PDF support in RBuilder was the same as the one done
by Pragnaan?
Regards
Shahine
The RB native PDF is was developed by Digital Metaphors.
Here is an article with options for using RB and IntraWeb. The second option
contains a few tips for ensuring thread-safety. There is some more good
information about thread-safety in the RBuilder.hlp topic for
TppReport.BackgroundPrintSettings.
--------------------------------------------
Article: ReportBuilder and IntraWeb
--------------------------------------------
There are two basic approaches to using ReportBuilder to implement web
applications.
1. ReportBuilder Server Edition
Live Demo: www.digital-metaphors.com/RBServerLive
Features:
http://www.digital-metaphors.com/Subpages/Products/Server/Features.html
ReportBuilder Server Edition contains the most comprehensive,
productive,high performance solution available. The Server Edition enables
you to build a multi-tier web solution within a few hours of installating
the product. Spend an afternoon with the trial version to evaluate it. The
Server has the ability to incrementally generate pages on demand and the
WebTier performs session management, caching, and generates a high quality
xhtml/javascript
report previewer.
The demos included with RB Server Edition contain examples of using the RB
Server's WebTier component within Delphi Web Broker apps: ISAPI, ASP .Net,
Apache.
For integration with an IntraWeb app, there are two options you can
research:
a. Use the RB WebTier and Delphi's Web Broker to build an ISAPI application.
Then call the reports by passing an appropriate URL to the Web Server. This
option is definitely doable.
b. Use the RB WebTier within the IntraWeb app itself. We have not tried this
option. The WebTier requires that the web request sent to the Web
application be passed thru to it. I think once you spend time with RB Server
Trial Edition and tutorials in the Server Developers Guide you can determine
whether this is feasable.
2. Build your own
The other approach to implementing publishing reports to the web is to use
any of the ReportBuilder Editions to impelement your own web solution.
a. Make sure that you provide a thread-safe container for the report to
execute.
b. Make sure that no dialogs are displayed by the report (i.e. set
Report.ShowPrintDialog, ShowCancelDialog, etc to False.
c. Set Report.EnableProcessMessages to False.
The simplest solution to implementing your own server is to generate the
reports to PDF return them (or a link to them) to the web browser. A more
complex solution would involve creating a custom report viewer as is done by
ReportBuilder Server Edition:
www.digital-metaphors.com/RBServerLive
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com