Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Print slowsly

edited April 2004 in General
I have a problem, I change the version 4.02 to version 6.2 and the reports
print more slowsly.

Comments

  • edited April 2004
    Toniko,

    There were no major printing issues in the transistions from RB 4 to RB6.
    As a test try commenting out your event handlers and see if that makes a
    difference. Are you able to tell the difference in printing speeds when
    printing a very simple report (i.e. a report on a form with maybe a lable in
    it). The current version of ReportBuilder is 7.03. My suggestion would be
    to upgrade to RB 7.03 and see if that helps the printing speed.

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited April 2004
    I have 2 programs, one compiled with the version 4.05 and another with the
    version 6.2. With the version 4.05 if I change the number of copies is very
    fast, but with the 6.2 the velocity is more slowsly. I continue working with
    the 4.05, thanks.

    Sorry, I not speak english very good.



  • edited April 2004
    Hi Toniko,

    As a test, try setting the Report.PrinterSetup.DelegateCopies to True in RB
    6.02 and see if that helps.

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited April 2004
    I tryed and is egal.

    Thanks.


  • edited April 2004
    Nico Cizik (Digital Metaphors) wrote:


    I have enormous problems with slow loading/running reports. I have a
    report (a single-page invoice) that has five pipelines. (Delphi 6 SP2,
    RB Ent 7.03, IBO, Firebird). The five pipelines each have a single
    (integer value) autosearch field. When I run the five queries one at a
    time in another utility (IB_SQL), the longest one takes about 3 seconds
    to return the three records (invoice items). The shortest one takes
    about a second. This suggests that [missing] indexes are not the
    problem, and of course I have created indexes as appropriate.

    But when I run the report, it takes 27 seconds for the single page to
    appear in the preview screen. It is 27 seconds even if I immediately
    re-click the Preview button (so it shouldn't be a metadata-search issue,
    which is another matter which is also a real time problem).

    Is there any way to profile the process to see where the big delay is
    coming from?

    Dennis McFall
  • edited April 2004
    I am concerned about memory leaking every time I run a report (End User
    environment):

    I have set showMessage dialogs immediately before and after the
    "Print_Invoice" procedure, as an example. It happens with every report I
    run:

    procedure Print_Invoice(TransactionID:integer;
    begin
    with rpReport do begin
    Template.DatabaseSettings.Name := 'Invoice_1';
    Template.LoadFromDatabase;

    for i:= 0 to AutoSearchFieldCount - 1 do begin
    if AutoSearchFields[i].FieldName = 'TRANSACTION_ID'
    then
    AutoSearchFields[i].SearchExpression:=IntToStr(TransactionID)
    end;

    DeviceType:=dtScreen;
    ShowAutoSearchDialog:=false;
    ShowPrintDialog:=true;
    Print;
    end;

    Immediately before the procedure is called, the MemUsage is shown as
    14480 KB. Immediately after I close the Preview window and the
    procedure has ended, the MemUsage is shown as 17372.

    MemUsage goes goes, and stays higher, every time I run a report. Soon I
    have to restart the app to release the memory.

    Is there a way to figure out where the memory is going, inside
    Print_Invoice?

    dm
  • edited April 2004
    Dennis,

    Thanks for the feedback. I will research this and get back to you as soon
    as possible.

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited April 2004
    I have a simlar problem as Dennis..., except mine takes about 30secs and I
    have several more pipelines. The queries take 1 - 2 secs run....
    any ideas why it could be happening?

  • edited April 2004
    Hi Dennis,

    By default, the report is not freed when the preview form is closed. If you
    would like to do so, you will first need to create the report dynamically.
    Then freeing the report object from the preview can be done using a TTimer
    (to allow enough time for the preview methods to execute before letting the
    report go. Below is a quick example of how this could be done.

    http://www.digital-metaphors.com/tips/FreeReport.zip

    As far as time of execution, the addition of AutoSearch values did not
    affect the processing time or memory usage significantly in my tests.

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.