Page 1 of 1
reporting two tdbchart bugs
Posted: Fri Apr 12, 2024 10:04 am
by 16895885
Hi
Sorry for my english (google traslate)
I would like to point out two bugs encountered when using tdbchart
1) If I create multiple series in the groups and delete one from that moment the series counter displays the references incorrectly
(serial number error.png)
2) A persistent field of a tclientdataset set to currency is reported correctly if used in the label if used as the value of X the format is lost
(currency error.png)
Delphi 12
Windows 10
TeeChartVCLFMXStandard-2023.39
Re: reporting two tdbchart bugs
Posted: Mon Apr 15, 2024 9:40 am
by yeray
Hello,
rbarone wrote: ↑Fri Apr 12, 2024 10:04 am
1) If I create multiple series in the groups and delete one from that moment the series counter displays the references incorrectly
(serial number error.png)
When you create a series, no
Name
is set to it by default. And when a series doesn't have a
Name
set, both the legend and the
TChartListBox
(used to draw the series list in the Editor) use the
SeriesNameOrIndex
function to calculate a string to draw each item. Then, the issues here are:
- The
SeriesNameOrIndex
method gives
Series1
always for the first series. If you remove the first series, then the next series will be
Series1
.
- The
TChartListBox
doesn't refresh when you remove a series. That's why the Editor and the Legend look out of sync. If you close the Editor and reopen it, they should be in sync again.
Maybe we should save an internal
Name
when a Series is created, in a similar way as we do with the Series
Color
, where we use a internal
ISeriesColor
property. I've added it to the public tracker (
#2694).
In the meanwhile, you could make sure you set a
Name
property in your series. Ie using the
GetNewSeriesName
function:
Code: Select all
for i:=0 to nSeries-1 do
with AddSeries(TBarSeries) do
begin
Marks.Hide;
Name:=GetNewSeriesName(Self);
FillSampleValues;
end;
rbarone wrote: ↑Fri Apr 12, 2024 10:04 am
2) A persistent field of a tclientdataset set to currency is reported correctly if used in the label if used as the value of X the format is lost
(currency error.png)
I'll take a look at this asap.
Re: reporting two tdbchart bugs
Posted: Mon Apr 15, 2024 11:42 am
by yeray
Hello,
I'm trying to reproduce the problem in a simple example project without success.
This is the closest I can get to your screenshot with a simple example:
- LegendDataSet.png (29.54 KiB) Viewed 55654 times
Code: Select all
uses Chart, DBChart, Series, Engine, FireDAC.Comp.Client;
var Chart1: TDBChart;
var MemTable1: TFDMemTable;
procedure TForm1.FormCreate(Sender: TObject);
var val: double;
i: Integer;
begin
MemTable1:=TFDMemTable.Create(Self);
with MemTable1 do
begin
Name:='MemTable1';
FieldDefs.Add('Price', ftCurrency);
with FieldDefs.AddFieldDef do
begin
Name:='Name';
DataType:=ftString;
DisplayName:='Name';
end;
CreateDataSet;
Open;
val:=1000+Random(500);
for i:=1 to 5 do
begin
AppendRecord([val, 'val'+IntToStr(i)]);
val:=val+Round(Random(10)-4.5);
end;
end;
Chart1:=TDBChart.Create(Self);
with Chart1 do
begin
Parent:=Self;
Align:=TAlignLayout.Client;
Color:=TAlphaColors.White;
Gradient.Visible:=False;
Walls.Back.Color:=TAlphaColors.White;
Walls.Back.Gradient.Visible:=False;
View3D:=False;
Legend.TextStyle:=ltsRightPercent;
with AddSeries(TPieSeries) do
begin
Marks.Style:=smsValue;
DataSource:=MemTable1;
YValues.ValueSource:='Price';
XLabelsSource:='Name';
end;
end;
end;
Could you modify the example above, or arrange a simple example we can run as-is, so we can reproduce the problem here?
Thanks in advance.
Re: reporting two tdbchart bugs
Posted: Mon Apr 15, 2024 1:50 pm
by 16895885
HI
First of all, I'll tell you that I didn't write code but I directly used the tbchart/dataset configuration
I will make sure to give you as many details as possible by writing you step by step what to do
I hope to find some time between today and tomorrow, sorry if I can't immediately
sorry for my English
Re: reporting two tdbchart bugs
Posted: Mon Apr 22, 2024 1:14 pm
by 16895885
HI
I tried to reproduce the error as best as possible, I will send you the structure and data of the table in csv format
and 2 screenshots explaining how to reproduce the problem.
I didn't write code but just used DBCHART objects and a clientdataset
I remain available to help you
Raffaele
Delphi 12.1
TeeChartVCLFMXStandard-2024.40
Code: Select all
/********* TABLE INTERBASE 2020 UPDATE 5*******/
CREATE TABLE TR_MGRUPPO
(
PK_PROGRESSIVO INTEGER DEFAULT 0 NOT NULL,
FK_MG INTEGER DEFAULT 0 NOT NULL,
TOT_ORE DOUBLE PRECISION DEFAULT 0 NOT NULL,
TOT_COSTO DOUBLE PRECISION DEFAULT 0 NOT NULL,
TOT_ORE_ISTITUZIONALI DOUBLE PRECISION DEFAULT 0 NOT NULL,
PRIMARY KEY (PK_PROGRESSIVO)
);
/***** DATA FOR TABLE *****/
PK_PROGRESSIVO;FK_MG;TOT_ORE;TOT_COSTO;TOT_ORE_ISTITUZIONALI
251;1;7540;240008,73;103445,4
252;2;642;29766;2111,22
253;3;0;0;0
254;4;536;40200;2306,26
255;5;1937;145275;12641,48
256;6;91;3353;4565,23
257;7;963;66112,12;3308,36
258;8;314;23550;1552,57
259;9;1321,3;49284,49;14719,08
260;10;1390;52870,9;4062,34
Re: reporting two tdbchart bugs
Posted: Sat Apr 27, 2024 2:24 pm
by 16895885
to supplement my report ": reporting two tdbchart bugs" (no response from you about this)
I attach a screenshot of a persistent and annoying label overlap when using the comboboxes for setting a dataset
Ciao
Raffaele Barone
Re: reporting two tdbchart bugs
Posted: Mon Apr 29, 2024 1:26 pm
by yeray
Hello Raffaele,
I've done a simple example in code using your dataset:
Code: Select all
uses Editor.Chart, Editor.DBChart, Chart, DBChart, Series, Engine, FireDAC.Comp.Client, Data.DB;
var PieChart, BarChart: TDBChart;
var MemTable1: TFDMemTable;
procedure TForm1.EditPieButtonClick(Sender: TObject);
begin
TChartEditForm.Edit(Self, PieChart);
end;
procedure TForm1.EditBarButtonClick(Sender: TObject);
begin
TChartEditForm.Edit(Self, BarChart);
end;
procedure TForm1.FormCreate(Sender: TObject);
var val: double;
i: Integer;
begin
MemTable1:=TFDMemTable.Create(Self);
with MemTable1 do
begin
Name:='TR_MGRUPPO';
FieldDefs.Add('PK_PROGRESSIVO', ftInteger);
FieldDefs.Add('FK_MG', ftInteger);
FieldDefs.Add('TOT_ORE', ftFloat);
FieldDefs.Add('TOT_COSTO', ftCurrency);
FieldDefs.Add('TOT_ORE_ISTITUZIONALI', ftCurrency);
CreateDataSet;
Open;
AppendRecord([251, 1, 7540, 240008.73, 103445.4]);
AppendRecord([252, 2, 642, 29766, 2111.22]);
AppendRecord([253, 3, 0, 0, 0]);
AppendRecord([254, 4, 536, 40200, 2306.26]);
AppendRecord([255, 5, 1937, 145275, 12641.48]);
AppendRecord([256, 6, 91, 3353, 4565.23]);
AppendRecord([257, 7, 963, 66112.12, 3308.36]);
AppendRecord([258, 8, 314, 23550, 1552.57]);
AppendRecord([259, 9, 1321.3, 49284.49, 14719.08]);
AppendRecord([260, 10, 1390, 52870.9, 4062.34]);
end;
PieChart:=TDBChart.Create(Self);
BarChart:=TDBChart.Create(Self);
with PieChart do
begin
Parent:=Self;
Align:=TAlignLayout.Client;
Color:=TAlphaColors.White;
Gradient.Visible:=False;
Walls.Back.Color:=TAlphaColors.White;
Walls.Back.Gradient.Visible:=False;
Legend.TextStyle:=ltsRightPercent;
Legend.FontSeriesColor:=True;
with AddSeries(TPieSeries) do
begin
Marks.Hide;
DataSource:=MemTable1;
YValues.ValueSource:='TOT_COSTO';
XLabelsSource:='TOT_COSTO';
end;
end;
with BarChart do
begin
Parent:=Self;
Align:=TAlignLayout.Right;
Color:=TAlphaColors.White;
Gradient.Visible:=False;
Walls.Back.Color:=TAlphaColors.White;
Walls.Back.Gradient.Visible:=False;
Width:=Form1.Width div 2;
Legend.TextStyle:=ltsRightPercent;
Legend.FontSeriesColor:=True;
with AddSeries(TBarSeries) do
begin
Marks.Hide;
DataSource:=MemTable1;
YValues.ValueSource:='TOT_COSTO';
XLabelsSource:='TOT_COSTO';
ColorEachPoint:=True;
end;
end;
end;
And this is how it looks for me here:
- mstsc_tI0jrwMgTp.png (49.9 KiB) Viewed 55407 times
Could you please give it a try?
Re: reporting two tdbchart bugs
Posted: Tue Apr 30, 2024 10:16 am
by yeray
Hello,
Regarding the problem in the Dataset Editor, where some
TLabel
s overlap some
TComboEdit
s, I've added it to the public tracker:
#2700 and I've already fixed it for the next maintenance release.
Re: reporting two tdbchart bugs
Posted: Fri May 03, 2024 10:32 am
by 16895885
Hi
Thank you for the example code you sent me but my application cannot use such a mechanism for the following reasons.
1) It is not a desktop but a multitier with DataSnap technology and DbExpress components therefore an FDMemTable is not conceivable.
2) The query changes dynamically so it is unthinkable to use the ADD technique from code
3)
In my opinion, if the TeeChart object inspector predicts something, it must also do it.
4) I would like to point out that I found another bug on the apply button of a Datasource/Summary, after having set the field and clicked on apply, if I change the field the apply remains disabled, to resolve it you need to change the Calculate (The apply button instead works correctly in the case of DataSource/Dataset) I attach a screenshot
Yesterday I renewed my TeeChart license and purchased the TeeGrid
The TeeGrid product itself is wonderful but yesterday alone I encountered numerous bugs with a TeeGrid/Dataset applied on an FMX/Rectangle or Panel.
All related to runtime visualization because at design time it seems to work.
I believe that many of the background/color properties have serious problems (probably in inheritance?).
Unfortunately more than 3 screenshots are not allowed to attach
I would like to know whether to communicate the other bugs to you or not, because in this way the TeeGrid product is truly UNUSABLE. (I attach some screen shots)
Good work and thanks for your patience but after all I also paid for the products
Ciao
Raffaele
reporting teegrid bugs
Posted: Fri May 03, 2024 12:43 pm
by 16895885
as I told you in the previous post, TeeGrid on FMX suffers from several bugs
I'll point out another one regarding the alternating colors on the row
Ciao
Raffaele
Re: reporting two tdbchart bugs
Posted: Mon May 06, 2024 9:59 am
by yeray
Hello Raffaele,
rbarone wrote: ↑Fri May 03, 2024 10:32 am
1) It is not a desktop but a multitier with DataSnap technology and DbExpress components therefore an FDMemTable is not conceivable.
Sending databases back and forth adds extra complication. But some bugs, like some of the ones you report are quite attached to linking our components to some kind of dataset.
I used an FDMemTable just to give a simple test code we can run as-is at both sides. We can use as a starting point to try to reproduce the problems you are reporting.
rbarone wrote: ↑Fri May 03, 2024 10:32 am
2) The query changes dynamically so it is unthinkable to use the ADD technique from code
Could you please arrange a simple example project we can run as-is to reproduce the problem here?
rbarone wrote: ↑Fri May 03, 2024 10:32 am
3) In my opinion, if the TeeChart object inspector predicts something, it must also do it.
Sure. There may be some bug here we need to analyse.
rbarone wrote: ↑Fri May 03, 2024 10:32 am
4) I would like to point out that I found another bug on the apply button of a Datasource/Summary, after having set the field and clicked on apply, if I change the field the apply remains disabled, to resolve it you need to change the Calculate (The apply button instead works correctly in the case of DataSource/Dataset) I attach a screenshot
I've been able to reproduce the problem so I've added it to the public tracker
#2702 and I've just fixed it for the next maintenance release.
rbarone wrote: ↑Fri May 03, 2024 10:32 am
Yesterday I renewed my TeeChart license and purchased the TeeGrid
The TeeGrid product itself is wonderful but yesterday alone I encountered numerous bugs with a TeeGrid/Dataset applied on an FMX/Rectangle or Panel.
All related to runtime visualization because at design time it seems to work.
I believe that many of the background/color properties have serious problems (probably in inheritance?).
Unfortunately more than 3 screenshots are not allowed to attach
I would like to know whether to communicate the other bugs to you or not, because in this way the TeeGrid product is truly UNUSABLE. (I attach some screen shots)
Good work and thanks for your patience but after all I also paid for the products
I'm sorry to hear you are disappointed with some of the products. Please keep posting the bug reports as you are already doing. This helps us to improve the components.
I know this is a pain in the ***, but splitting each small bug in a separate thread, preparing a simple example for each one and posting it at the appropriate forum section (or directly at
bugzilla) helps enormously to find the solution for each issue.
Re: reporting two tdbchart bugs
Posted: Thu May 09, 2024 3:25 pm
by Marc
Hello,
Please see this post relating to TeeGrid "Alternate":
viewtopic.php?f=21&t=18164
Regards,
Marc Meumann
Re: reporting two tdbchart bugs
Posted: Fri May 10, 2024 7:53 am
by 16895885
Thanks a lot
Ciao
Raffaele