I would appreciate any feedback on the TChart issue. RB 7 apparently doesn't require you to purchase TChart anymore. We are running D6 with TChart that came with Delphi (4.04). When I drop a ppDPTeeChart on the report, on the series|DataSource tab| No datasets, pipeline are available. The pipeline is visible = true.
Please see the ReportBuilder Help in the ReportBuilder Reference | TeeChart | Delphi 6... section. This page gives a chart of all versions of TeeChart that are supported by ReportBuilder. The version of TeeChart that comes packaged with Delphi 6 (4.04) is not fully functional with ReportBuilder 7 at design time.
I just found this post today after spending a couple of hours trying to upgrade a project that contains a DBChart to Delphi7 with RB7.02
Let's get a few points clear: 1 Delphi 7 ships with TeeChart 4.04. 2. ReportBuilder 7.02 is the upgrade for Delphi 7. 3. When you state that "The version of TeeChart that comes packaged with Delphi 6 (4.04) is not fully functional with ReportBuilder 7" surely you mean that ReportBuilder 7 is not fully functional with Delphi 6/7.
When are you going to provide a fix for a lack of functionality in ReportBuilder. All of my migration problems from Delphi 3 to Delphi 7 are related to ReportBuilder, for which I paid an upgrade fee. I am totally annoyed with the responses that I am getting to the problems that are clearly ReportBuilder issues. Can I get my money back?
Ok, now that I have expended all that negative energy in complaining, let me suggest a workaround for Roger and any other users who are unable to assign a datasource to a TDPChart.
1. Design your report as normal in the Report Designer, including the series that you want to appear on the chart. 2. Save the report and go to the procedure that contains your ppReport1.Print command. 3. Before the print command is called, add the following assignments: ppDPTeeChart1.DataSource := 'the name of the appropriate pipeline' e.g 'ppBDEPipeline1' For each series add: (where x is the index number of the series) ppDPTeeChart1.Chart.Series[x].ShowInLegend := True or False as required ppDPTeeChart1.Chart.Series[x].XValues.ValueSource := Name of field from pipeline ppDPTeeChart1.Chart.Series[x].XValues.Name := Name of the series ppDPTeeChart1.Chart.Series[x].XValues.DateTime := True or false as appropriate ppDPTeeChart1.Chart.Series[x].XValues.Order := loAscending, loDescending, loNone as appropriate ppDPTeeChart1.Chart.Series[x].XValues.Multiplier := 1, -1, whatever you need. ppDPTeeChart1.Chart.Series[x].YValues.ValueSource := Name of field from pipeline ppDPTeeChart1.Chart.Series[x].YValues.Name := Name of the series ppDPTeeChart1.Chart.Series[x].YValues.DateTime := True or false as appropriate ppDPTeeChart1.Chart.Series[x].YValues.Order := loAscending, loDescending, loNone as appropriate ppDPTeeChart1.Chart.Series[x].YValues.Multiplier := 1, -1, whatever you need
Obviously it would be tidier to use "with ppDPTeeChart1.Chart.Series[x] do"
4 Alternatively, you could use Alt-F12 to edit the DFM file and search for "Series1" (and subsequent series) and make the changes directly, which is what I did before I realised that all of the properties are accessible in code. The disadvantage of this approach is that if you edit the chart in the Report Designer, you will most likely lose the changes you made to the DFM.
As I said in my earlier post, I don't like to be aggressive, so guilt got the better of me. I hope this helps.
Comments
require you to purchase TChart anymore. We are running D6 with TChart that
came with Delphi (4.04). When I drop a ppDPTeeChart on the report, on the
series|DataSource tab| No datasets, pipeline are available. The pipeline is
visible = true.
Roger
Please see the ReportBuilder Help in the ReportBuilder Reference | TeeChart
| Delphi 6... section. This page gives a chart of all versions of TeeChart
that are supported by ReportBuilder. The version of TeeChart that comes
packaged with Delphi 6 (4.04) is not fully functional with ReportBuilder 7
at design time.
--
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
upgrade a project that contains a DBChart to Delphi7 with RB7.02
Let's get a few points clear:
1 Delphi 7 ships with TeeChart 4.04.
2. ReportBuilder 7.02 is the upgrade for Delphi 7.
3. When you state that "The version of TeeChart that comes packaged with
Delphi 6 (4.04) is not fully functional with ReportBuilder 7" surely you
mean that ReportBuilder 7 is not fully functional with Delphi 6/7.
When are you going to provide a fix for a lack of functionality in
ReportBuilder. All of my migration problems from Delphi 3 to Delphi 7 are
related to ReportBuilder, for which I paid an upgrade fee. I am totally
annoyed with the responses that I am getting to the problems that are
clearly ReportBuilder issues. Can I get my money back?
Mike O'Grady.
suggest a workaround for Roger and any other users who are unable to assign
a datasource to a TDPChart.
1. Design your report as normal in the Report Designer, including the series
that you want to appear on the chart.
2. Save the report and go to the procedure that contains your
ppReport1.Print command.
3. Before the print command is called, add the following assignments:
ppDPTeeChart1.DataSource := 'the name of the appropriate pipeline'
e.g 'ppBDEPipeline1'
For each series add: (where x is the index number of the series)
ppDPTeeChart1.Chart.Series[x].ShowInLegend := True or False as
required
ppDPTeeChart1.Chart.Series[x].XValues.ValueSource := Name of
field from pipeline
ppDPTeeChart1.Chart.Series[x].XValues.Name := Name of the series
ppDPTeeChart1.Chart.Series[x].XValues.DateTime := True or false
as appropriate
ppDPTeeChart1.Chart.Series[x].XValues.Order := loAscending,
loDescending, loNone as appropriate
ppDPTeeChart1.Chart.Series[x].XValues.Multiplier := 1, -1,
whatever you need.
ppDPTeeChart1.Chart.Series[x].YValues.ValueSource := Name of
field from pipeline
ppDPTeeChart1.Chart.Series[x].YValues.Name := Name of the series
ppDPTeeChart1.Chart.Series[x].YValues.DateTime := True or false
as appropriate
ppDPTeeChart1.Chart.Series[x].YValues.Order := loAscending,
loDescending, loNone as appropriate
ppDPTeeChart1.Chart.Series[x].YValues.Multiplier := 1, -1,
whatever you need
Obviously it would be tidier to use "with ppDPTeeChart1.Chart.Series[x] do"
4 Alternatively, you could use Alt-F12 to edit the DFM file and search for
"Series1" (and subsequent series) and make the changes directly, which is
what I did before I realised that all of the properties are accessible in
code. The disadvantage of this approach is that if you edit the chart in
the Report Designer, you will most likely lose the changes you made to the
DFM.
As I said in my earlier post, I don't like to be aggressive, so guilt got
the better of me. I hope this helps.
Mike O'Grady
mikeogrady@aquilatechnology.com