为什么AddGantt或AddGanttColor为不同的调用返回相同的索引?

时间:2013-05-29 13:46:46

标签: delphi teechart delphi-5

出于某些原因,在使用AddGanttColor或AddGantt方法向TGanttSeries实例添加甘特图时,会为两个不同的调用返回相同的索引。

例如,以下代码段说明了最后两个调用都返回值为1的索引的情况。

Series.AddGanttColor(0, 100, 0, 'WA #234', clGreen);   // returns value 0
Series.AddGanttColor(100, 200, 1, 'WA #235', clGreen); // returns value 1 
Series.AddGanttColor(50, 200, 2, 'WA #237', clGreen);  // returns value 1!

然而,显示所有三个甘特图。因此,似乎第三行添加甘特作为列表中的第二行,并将第二行添加的甘特图移动到最后一行(第三行,并且具有索引2)。

有人可以解释一下如何解决这个问题,以确保返回的索引与AddGanttColor调用保持关联。在上面的例子中,我希望索引值0,1和2分别与第一,第二和第三个添加的甘特图相关联。


刚刚确认这种情况适用于在Delphi 5下运行的TeeChart版本5和8。

1 个答案:

答案 0 :(得分:1)

嗯......经过一些研究后,问题的原因缩小到了财产Series.XValues.Order的价值。此属性应设置为loNone,以保持从AddGantt返回的索引值与相应的甘特图之间的关联。

IMO这是一个API缺陷。