我用下面的函数进行显示曲线时,有时回出现下面的错误提示。多次检查不知是什么原因。
我的函数为:
procedure TfrmMain.ShowOneCav(cds:Tclientdataset);
var yValue:real;
xValue:string;
begin
series1.Clear ;
chart2.Legend.Color:=RGB($D4,$D0,$C8);
series1.LinePen.Width :=2;
series1.Title :=CdsTemp.Fields[0].AsString ;
cds.First ;
while not cds.Eof do
begin
yValue:= cds.fieldbyName('amount').AsFloat ;
xValue:=cds.fieldbyName('bmonth').AsString ;
series1.AddY(yValue,xValue,clyellow);
//series1.AddXY(cds.FieldValues['bmonth'],cds.fieldbyName('amount').AsFloat) ;
cds.Next ;
end;
end;
错误信息为:
Project ProWXTrendAnalys.exe raised exception class EAccessViolation with
message 'Access violation at address 004C0D2F in module 'ProWXTrendAnalys.exe'.
Write of address 00DC4000'. Process stopped. Use Step or Run to continue.
我的函数为:
procedure TfrmMain.ShowOneCav(cds:Tclientdataset);
var yValue:real;
xValue:string;
begin
series1.Clear ;
chart2.Legend.Color:=RGB($D4,$D0,$C8);
series1.LinePen.Width :=2;
series1.Title :=CdsTemp.Fields[0].AsString ;
cds.First ;
while not cds.Eof do
begin
yValue:= cds.fieldbyName('amount').AsFloat ;
xValue:=cds.fieldbyName('bmonth').AsString ;
series1.AddY(yValue,xValue,clyellow);
//series1.AddXY(cds.FieldValues['bmonth'],cds.fieldbyName('amount').AsFloat) ;
cds.Next ;
end;
end;
错误信息为:
Project ProWXTrendAnalys.exe raised exception class EAccessViolation with
message 'Access violation at address 004C0D2F in module 'ProWXTrendAnalys.exe'.
Write of address 00DC4000'. Process stopped. Use Step or Run to continue.
1.让你的曲线(一条或多条)数据不出现水平数据曲线
2.若要出现水平直线,则最大数据不能超过1818
3.添加一条多余的Series,把其曲线的颜色设置为背景色,使其隐藏,并使其数据出现斜线即可推荐使用方法3