2015-07-13 139 views
2

我正在创建一个生成条形图的程序。昨天,代码正常编译并没有出现小故障。但是,当我尝试运行它时,会发生读取地址错误。这段代码是给的问题:TeEngine.pas找不到

for K:=0 to Length(arrIncomes) - 1 do 
    IncomeBarS.AddXY(arrIncomes[k].dDate,arrIncomes[k].rAmount); 

当试图查看的源代码的"AddXY"过程中,IDE提供了错误:"Unable to locate file 'TeEngine.pas'"。 Google无法帮助我。有谁知道如何解决这一问题?我正在使用Delphi 2010

回答

1

Delphi提供的TeeChart免费版本不包含源代码。本质上你遇到的信息是告诉你。 TeeChart的完整商业版本随附源代码。

看着你的代码,它似乎不太可能是TeeChart中的问题。我期望这个问题可以在你的代码中找到。

+0

我想是这样。但我的代码运行没有问题。它突然开始给出没有明显原因的问题 – Marnu123

+0

会有一个原因。我认为你的问题编辑是相当不公平的。在我看来,我回答了你提出的问题,现在你试图通过编辑来问另一个问题。 –

+0

如果它解决了问题,我会接受你的答案,但代码仍然无法正常工作。这两个代码段几乎在所有方面都是相同的,除了一个有效,另一个没有。 – Marnu123

0

当您没有pas文件但仅编译DCU时显示此消息。 换句话说,你没有组件的源代码。

不管怎么说,声明应该是如下:

Function AddXY(Const AXValue,AYValue:Double; Const ALabel:String=''; 
        AColor:TColor=clTeeColor):Integer; virtual; 

Function AddY(Const AYValue:Double; Const ALabel:String=''; 
        AColor:TColor=clTeeColor):Integer; 

看来你arrIncomes记录只有金额和日期记录,所以你的情况,你可以使用阿迪,而不是AddXY功能:​​

for K:=0 to Length(arrIncomes) - 1 do 
    IncomeBarS.AddY(arrIncomes[k].rAmount,DateToStr(arrIncomes[k].dDate)); 
+0

您能否解释如何交换X和Y参数将解决运行时错误? –

+0

X轴属于TDateTime类型。 – Marnu123

+0

@DavidHeffernan我刚编辑过这个例子..对不起! –

1

我正在从Delphi 2007(VER185)转换到Delphi XE6。这是我的解决方案:

{$IFDEF VER185} 
    TeEngine, 
{$ELSE} 
    VCLTee.TeEngine, VclTee.TeeGDIPlus, 
{$ENDIF}