ScreenDevice.ReceivePage in RB14?
Hello,
displaying single pages of a report with a TppViewer using this simple line:
ppViewer1.ScreenDevice.ReceivePage(TppPage(lPage));
That used to work fine in RB12. Now we have updated to RB14 and no pages
are displayed in the viewer when we exceute that line.
After a little bit research i found ot that the type of
ppViewer.ScreenDevice is TppScrollableScreenDevice and when i check the
method "ReceivePage" of that class i end up in the following code:
-------------------- snip --------------------
procedure TppScrollableScreenDevice.ReceivePage(aPage: TppPage);
begin
// implement single page more logic here
// do not call inherited
// inherited;
end;
-------------------- snap --------------------
That means: This method is empty and therefor it does nothing!
Is there any other way to display a single page of a report when you do
not have the complete report available? Background: the report is
generated on another computer and only one page that should be displayed
is transferred as TppPage object over the network to save bandwidth
(normally the user does not want to see other pages)
Any hints?
Ciao,
Ralf
displaying single pages of a report with a TppViewer using this simple line:
ppViewer1.ScreenDevice.ReceivePage(TppPage(lPage));
That used to work fine in RB12. Now we have updated to RB14 and no pages
are displayed in the viewer when we exceute that line.
After a little bit research i found ot that the type of
ppViewer.ScreenDevice is TppScrollableScreenDevice and when i check the
method "ReceivePage" of that class i end up in the following code:
-------------------- snip --------------------
procedure TppScrollableScreenDevice.ReceivePage(aPage: TppPage);
begin
// implement single page more logic here
// do not call inherited
// inherited;
end;
-------------------- snap --------------------
That means: This method is empty and therefor it does nothing!
Is there any other way to display a single page of a report when you do
not have the complete report available? Background: the report is
generated on another computer and only one page that should be displayed
is transferred as TppPage object over the network to save bandwidth
(normally the user does not want to see other pages)
Any hints?
Ciao,
Ralf
This discussion has been closed.
Comments
For this case you will want to set the Viewer.SinglePageOnly property to
True. This will use the original TppScreenDevice that you were
accustomed to in RB 12.
Also, have you considered taking a look at the Server edition of
ReportBuilder? ReportBuilder Server can perform the exact process you
describe below without any of the heavy lifting. I suggest downloading
a trial copy and working through some of the examples to see what it is
capable of.
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Hi Nico,
meanwhile i found that property (when checking how the screendevice is
created i saw it). I am using it now.
I think we currently do not need the server edition. Our current system
has a complete own infrastructure and transferring pages for
ReportBuilder is only a very small part.
Thanks anyway,
Ralf