0

メソッド AddGanttColor または AddGantt を使用してガントを TGanttSeries インスタンスに追加すると、何らかの理由で、2 つの異なる呼び出しに対して同じインデックスが返されます。

たとえば、次のスニペットは、最後の 2 つの呼び出しが両方とも値 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!

ただし、3 つのガントはすべて表示されます。というわけで、3行目はリストの2番目にガントを追加し、2行目に追加したガントを最後(3番目、インデックス2)に移動したようです。

AddGanttColor 呼び出しに従って、返されたインデックスがガントに関連付けられたままになるように、これをどのように修正できるかを誰か説明してください。上記の例では、インデックス値 0、1、および 2 が、それぞれ 1 番目、2 番目、および 3 番目に追加されたガントに関連付けられると予想されます。


この状況が、Delphi 5 で実行されている TeeChart バージョン 5 および 8 に当てはまることを確認しました。

4

1 に答える 1

1

うーん…いろいろ調べた結果、問題の原因は物件の価値に絞り込まれましたSeries.XValues.OrderloNoneAddGantt から返されたインデックス値と対応するガントの間の関連付けを保持するには、このプロパティを に設定する必要があります。

IMO これは API の欠陥です。

于 2013-05-30T10:07:59.400 に答える