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
LegendDataSet.png (29.54 KiB) Viewed 3130 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
mstsc_tI0jrwMgTp.png (49.9 KiB) Viewed 2883 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 TLabels overlap some TComboEdits, 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