在一個實時系統的GUI中,用到TeeChart控制元件,使用幾個series來顯示資料,用的是series->AddY(data)來畫圖。但是記憶體消耗一直不停地往上增加,在網上查到一點資訊,說是TeeChart中的資料會一直累積,需要把AutoRepaint屬性設為false,手影片圖。但是使用LineTo函式后發現,顯示出來的線條只有一小段,接著就消失了。
我嘗試使用series->clear()來清除資料,執行之后記憶體會有明顯下降,但是Chart中的那些series也不顯示了,是不是呼叫clear后,那些之前宣告的series也不存在了,要重新定義一下?另外,看還有個free函式,這個需要和clear一起用么。
目前我的series的創建都是直接在Chart圖形視窗上一個個設定出來的,由于用的是C++ Builder,所以網上很多用AddSeries來創建series的方法行不通,還請哪位大俠給點范例。
uj5u.com熱心網友回復:
是不是可以只顯示部分資料啊,或者說是只顯示一定時間長度內的資料;這樣你可以洗掉前面的資料后面再加入資料
比如:
double xx;
Sleep(1);
if( SDis1->XValues->Count>200 )
SDis1->Delete(0,1,true);
xx=SDis1->XValues->Count;//SDis1->XValues->Last();
SDis1->AddXY(xx+1,C[0],xpoit,clRed);
uj5u.com熱心網友回復:
TLineSeries *SDis1;轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/151660.html
標籤:基礎類
上一篇:BCB6有編輯器的插件嗎?
