Range check error in .23
Posted: Tue Feb 27, 2018 10:40 pm
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
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