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

Problems on TeeChart saving function datasources

edited July 2003 in End User
Hi! I'm using Report Builder v6.03, TeeChart v5.02 (I've also been
able to replicate this on TeeChart v5.03 too) and Oracle 8i.

Essentially when using any function that links to a series, after saving
then reloading the series for the function is no longer selected.

There's a few steps to replicate this error (I'll detail the standard
Paradox connection):
- Use the Paradox DBDEMOS database,
- Load up Report (I used the version that came with Report Builder
'enduser.exe' from the "($DELPHI)\RBuilder\Demos\4. EndUser
Databases\Paradox\1. BDE\" directory
- Click on the data tab
- File\New - 'Query Designer'
- Select Table 'customers'
- Select Table 'orders'
- Click on Fields tab
- Select field 'custno'
- Click on Calc tab
- Select field 'orderno', change the calculation to 'count'
- Click Finish, then preview the query to ensure you have results
- Click the Design Tab
- Place a TeeChart component on the detail section
- Right click on TeeChart - Edit
- Create a Bar Chart series
- Datasource is 'Datapipeline'
- Data Pipeline = 'Customer'
- Labels = 'Custno'
- Bar = 'Count(*)'
- Click on the Chart Tab
- Add the second series - Line Graph
- Datasource is 'Function'
- Functions = 'Average'
- Source Series Selected = 'Series1'
- Click close
- Graph displays details
- 'File\Save To File' - save report
- 'File\Load from File' - load saved report
- Right click TeeChart/Edit
- dblClick Series2
You will now notice that the selected series of 'Series1' did not save and
is displayed as an available series.

If there's anything I can do to help feel free.

Kind Regards,
Nigel Huband.

Comments

  • edited July 2003
    RB doesn't support the function series in Teechart. One of the side effects
    is that it isn't saved as part of the report template. If you close a report
    app, most of the Teechart series functions cause a Teechart destroy bug. We
    reported the bug to Teechart a couple years ago, but they have not changed
    their source. The bug in in their source not RB's. Their is nothing we can
    do in our wrapper to fix the issue. The destroy sequence of Teechart
    components in the ReportBuilder environment is different than a chart on a
    form, which is why Teechart lucks out and they don't need a free object
    notification scheme to nil references to object when they are freed.


    Cheers,

    Jim Bennett
    Digital Metaphors


  • edited July 2003
    Interesting ... as Steema Software pointed me in your direction.

    Still, we have bought the source so we'll apply a fix here :)

    Regards,
    Nigel.

  • edited July 2003
    > RB doesn't support the function series in Teechart. One of the side
    effects
    report
    We

    Is there any way of creating a standard chart that reproduces the issue?

    Ed Dressel
    Team DM
  • edited July 2003
    By standard chart, do you mean not through Report Builder?

  • edited July 2003
    This bug was reported about 3 years ago (then RB5 enterprise, TeeChart 4 Pro)
    and DM's Robert Leahey replied that he'd been able to reproduce it and would
    be researching the issue.

    To get around the problem in RB 6.03, TChart 5.02 I hook up the series using
    RAP in ReportBeforePrint.
    DPTeeChart1.Chart.Series[1].DataSource := DPTeeChart1.Chart.Series[0];

    Then I refresh the series in DPTeeChartOnPrint
    DPTeeChart1.Series[0].RefreshSeries; etc

    Works fine but a bit more difficult for an end user than just hooking up the
    series. You need to extend RAP to expose .Series etc see the RAP help file for
    a tutorial.

    Regards,
    Denis Grant

  • edited July 2003
    > By standard chart, do you mean not through Report Builder?

    Yes.

    Ed Dressel
    Team DM
  • edited July 2003
    I ended up by solving the problem by saving into the Report Template the
    Series from TeeChart which are functions and which linked series they have,
    then on load they are re-applied. This then allows the designer to specifiy
    multiple series per function and retain the order of assignment.

    Another bug I noticed was that if you have say five series and the first is
    a function, after save/load in RB the datasources are lost for the last
    four. This most likely relates to the original problem detailed earlier.

    Regards,
    Nigel.

This discussion has been closed.