Autor Téma: D5 prosím o ověření chyby TeeChart  (Přečteno 168 krát)

Offline Morrison

  • Hrdina
  • ****
  • Příspěvků: 307
  • Karma: 12
    • Verze Delphi: D5, XE2, 10.4
D5 prosím o ověření chyby TeeChart
« kdy: 04-12-2020, 07:38:30 »
Prosím majitele Delphi 5 o ověření chyby v komponentě TChart (resp. Series).
Testovací projekt přikládám. Je to zcela primitivní:

Unit1.dfm
Kód: Delphi [Vybrat]
  1. object Form1: TForm1
  2.   Left = 27
  3.   Top = 124
  4.   Width = 496
  5.   Height = 404
  6.   Caption = 'Form1'
  7.   Color = clBtnFace
  8.   Font.Charset = DEFAULT_CHARSET
  9.   Font.Color = clWindowText
  10.   Font.Height = -11
  11.   Font.Name = 'MS Sans Serif'
  12.   Font.Style = []
  13.   OldCreateOrder = False
  14.   PixelsPerInch = 96
  15.   TextHeight = 13
  16.   object Chart1: TChart
  17.     Left = 24
  18.     Top = 16
  19.     Width = 400
  20.     Height = 250
  21.     BackWall.Brush.Color = clWhite
  22.     BackWall.Brush.Style = bsClear
  23.     Title.Text.Strings = (
  24.       'TChart')
  25.     TabOrder = 0
  26.     object Series1: TLineSeries
  27.       Marks.ArrowLength = 8
  28.       Marks.Visible = False
  29.       SeriesColor = clRed
  30.       Pointer.InflateMargins = True
  31.       Pointer.Style = psRectangle
  32.       Pointer.Visible = False
  33.       XValues.DateTime = False
  34.       XValues.Name = 'X'
  35.       XValues.Multiplier = 1
  36.       XValues.Order = loAscending
  37.       YValues.DateTime = False
  38.       YValues.Name = 'Y'
  39.       YValues.Multiplier = 1
  40.       YValues.Order = loNone
  41.     end
  42.   end
  43.   object Button1: TButton
  44.     Left = 176
  45.     Top = 304
  46.     Width = 75
  47.     Height = 25
  48.     Caption = 'Button1'
  49.     TabOrder = 1
  50.     OnClick = Button1Click
  51.   end
  52. end
  53.  

Unit1.pas
Kód: Delphi [Vybrat]
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   TeEngine, Series, StdCtrls, ExtCtrls, TeeProcs, Chart;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Chart1: TChart;
  12.     Button1: TButton;
  13.     Series1: TLineSeries;
  14.     procedure Button1Click(Sender: TObject);
  15.   private
  16.     { Private declarations }
  17.   public
  18.     { Public declarations }
  19.   end;
  20.  
  21. var
  22.   Form1: TForm1;
  23.  
  24. implementation
  25.  
  26. {$R *.DFM}
  27.  
  28. procedure TForm1.Button1Click(Sender: TObject);
  29. begin
  30.   //Series1.AddXY(1, 10000);
  31.   Series1.Add(10000);
  32. end;
  33. end.
  34.  
Toto mi na dvou testovacích instalacích Delphi 5 hodí Access Violation (podle Call stacku je to ve chvíli překreslení grafu).
Nechce se mi věřit, že to není jen někde u mě, že by něco takového mohlo být opravdu chybou TeeChartu, obzvlášť když Google na tohle téma nic moc neříká.
nil

Offline Morrison

  • Hrdina
  • ****
  • Příspěvků: 307
  • Karma: 12
    • Verze Delphi: D5, XE2, 10.4
Re:D5 prosím o ověření chyby TeeChart
« Odpověď #1 kdy: 04-12-2020, 08:01:20 »
Zjistil jsem, že problém je někde v automatickém nastavení škály osy grafu. Když nastavím LeftAxis.Automatic := False a pak určím maximum osy ručně, AV se nevyskytne. Stejně ale nemůžu uvěřit tomu, že bych byl jediný, kdo na tuhle chybu přišel. Vždyť tím je v podstatě ve výchozím stavu celý TeeChart v D5 nepoužitelný.
nil