Page 1 of 1

Range check error in .23

Posted: Tue Feb 27, 2018 10:40 pm
by 16582483
I just installed .23 and am getting a list index error that I did not get before. I have spent a few hours working on it--but it only occurs in some very specific situations.

It is when the mouse moves over the TAeraSeries, but there are no events linked to the area or the chart.

Here is the call stack when it occurs:

:74f108c2 KERNELBASE.RaiseException + 0x62
VCLTee.TeEngine.TChartSeries.GetMarkValue(4227283)
VCLTee.TeEngine.TChartSeries.GetMarkValue(-1)
VCLTee.TeEngine.TChartSeries.GetOriginValue(-1)
VCLTee.Series.TCustomSeries.PointOrigin(-1,False)
VCLTee.Series.TCustomSeries.CalcStackedPos(-1,0)
VCLTee.Series.TCustomSeries.GetOriginPos(-1)
VCLTee.Series.TAreaSeries.GetOriginPos(-1)
VCLTee.Series.PointInArea(0) [Line of Code: 1992]
VCLTee.Series.ClickedPoint(0)
VCLTee.Series.TCustomSeries.Clicked(521,225)
VCLTee.TeEngine.TChartSeries.CheckMouse(521,225)
VCLTee.TeEngine.TCustomAxisPanel.CheckMouseSeries(521,225)
VCLTee.Chart.TCustomChart.MouseMove([],521,225)
:0056f87f TControl.WMMouseMove + $83
:00573a92 TWinControl.WndProc + $5EE
VCLTee.TeeProcs.TCustomTeePanel.WndProc((512, 0, 14746121, 0, 0, 0, (), 521, 225, (), 0, 0, ()))
:74f108c2 KERNELBASE.RaiseException + 0x62

Note the VCLTee.Series.PointInArea passes a -1 value. Here is the code:

tmp[3]:=TeePoint(OldXPos,GetOriginPos(Index-1)); [Line #1992]

That is what ends up creating the range check error.

I have my senior programmer trying to recreate this in a demo, but I thought you might be aware of this and already have a fix? (If we can create a demo before end of business, I will add it)

Thank you,

Ed Dressel

Re: Range check error in .23

Posted: Wed Feb 28, 2018 12:53 am
by 16582483
If range checking is on in the attached demo, run the demo (Seattle 10.1), as soon as the mouse moves over the chart an exception occurs.

Ed Dressel

Re: Range check error in .23

Posted: Fri Mar 02, 2018 10:36 am
by yeray
Hello,

I'm not able to reproduce the problem here with that project and TeeChart Pro v2017.23. I've tested it with RAD XE, RAD XE 10 Seattle, RAD 10.1 Berlin and RAD 10.2 Tokyo.
Note I had to remove a unit from the uses clause and the last two lines of code from your FormCreate to compile it.