我正在以编程方式创建一个酒吧系列(Delphi2007,TeeChar 7 免费版)。我想在我的图表中有相邻的条形图,所以我尝试创建多个条形图并使用 multibar 属性。
在 main_unit 中设置 multibar 属性时,我遇到访问冲突(调试时,如果我检查 barseries 对象,我可以看到 multibar 属性为“超出范围”)。仅当我在创建 bareries 的单元中设置属性时,我才得到错误。我如何在外部操纵barseries?我是否必须在 unit1 中为此目的设置一个属性?
这是我的代码片段:
unit unit1
type TMyChart = Class
fchart: TChart;
procedure addSinglebarSeries(var X, Y: integer)
....
implementation
function TSignalchart.addSinglebarSeries(var X, Y: integer): TBarSeries;
j, n : integer;
begin
result := TBarSeries.Create(fChart);
result.AddXY(x,Y,inttostr(x), clRed);
barseries.MultiBar := mbStacked; //here no access violation
end;
----
unit main-unit
implementation
uses TeEngine, TeeProcs, unit1;
procedure myprocedure;
var
newChart : TMyChart;
X, Y := array of integer;
barseries : TBarSeries;
aX, aY, i: integer;
begin
//I create the newchart object, I create X, Y
for i := 0 to length(X) - 1 do
begin
aX := X[i];
aY := Y[i];
barseries := newChart.addsinglebarSeries(aX,aY);
end;
//barseries.MultiBar := mbStacked; //access violation!!
end;