为什么AddGantt或addgantcolor对不同的调用返回相同的索引



由于某些原因,当使用AddGanttColor或AddGantt方法向tgantseries实例添加甘特时,两个不同的调用返回相同的索引。

例如,下面的代码片段说明了最后两个调用都返回值为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也是如此。

嗯…经过一番研究,将问题的原因缩小到财产Series.XValues.Order的价值。为了保持AddGantt返回的索引值和相应的gantt之间的关联,这个属性应该设置为loNone

在我看来,这是一个API缺陷

相关内容

  • 没有找到相关文章

最新更新