2015-06-02 37 views
0

在一個名爲serie1與父母圖表cht1,在那裏我有明顯痕跡TLineSeries,我試圖通過代碼來移動一個標誌。我的問題是,當我嘗試將標記位置的Custom屬性設置爲true時,出現「訪問衝突」異常。但是,如果我拖動標記(附加到圖表的TDragMarksTool並激活),它會移動。之後,「自定義」的位置是真的,我可以通過代碼來移動標記。的TeeChart:如何通過代碼來移動可視系列標誌?

這一個按鈕的單擊事件。

serie1.Marks[10].Visible:=True; 
serie1.Marks.Positions.Position[10].Custom:=true; <<< Exception here. 

我用Delphi XE4並於TeeChart 2014年,沒有我的筆記本電腦在這裏看到確切的版本號。

+0

調用'Invalidate'而不是'Draw'強制重繪。至於你的例外,我們怎麼評論?什麼是例外?準確。不要讓我們猜測。我猜想「serie1.Marks.Positions.Position [10]」是出界的,但爲什麼我們需要猜測。 –

+0

感謝您的評論,大衛。但這並不能解決主要問題;我在Draw調用之前得到異常。 –

+0

真正有幫助的是,如果你能夠通過完整地再現問題來產生更好的問題。正如我上面所說,當我們必須猜測時,這很困難。 –

回答

2

一些性質不被初始化,直到圖表已完全繪製。
嘗試迫使圖表重繪主叫cht1.Draw;訪問serie1.Marks.Positions.Position陣列之前。

相關問題