界面上放了個dw,通過timer在定時重繪,現在發現資料量大時,一重繪滑鼠就變漏斗,感覺很卡,如果要實作異步重繪的話,要怎么實作?還是用到PB多執行緒SharedObjectRegister的方式來處理嗎?有無好的實作思路,各位大俠指點一下
uj5u.com熱心網友回復:
我覺得得換個方式來實作你的定時重繪的功能。如果是刷資料的話,可以用時間點來重繪增量資料。uj5u.com熱心網友回復:
如果想刷資料的時候還能進行別的操作,多執行緒是最好的方式uj5u.com熱心網友回復:
Retrieve (yield) Post(ll_dw_handle, 1306, 1, 0)Post(ll_dw_handle, 1320, 0, 0)
Cancel Post(ll_dw_handle, 1320, 0, 0)
uj5u.com熱心網友回復:
或者是在retrieverow事件里隨便加點代碼...就可以異步了uj5u.com熱心網友回復:
Retrieve (yield)?沒用過,能詳細解釋下用法嗎?
uj5u.com熱心網友回復:
發送這個訊息就可以實作檢索資料時可以操作其它動作(包括停止檢索)send(handle(dw_1), 1306, 1, 0)
//停止檢索
dw_1.dbcancel()
缺點是就是不能指定retrieve的引數
uj5u.com熱心網友回復:
我目前是在timer事件中增量檢索,但還是會卡,我償試一下用SharedObjectRegister的方式看會不改善一些,主要是pb多執行緒不好用,不像c#uj5u.com熱心網友回復:
SharedObjectRegister 你要占用兩個資料庫連接才能達到效果uj5u.com熱心網友回復:
用retrieverow 進行異步重繪 不要用那個函式 因為 要占用兩個資料庫連接才能達到效果uj5u.com熱心網友回復:
關注
uj5u.com熱心網友回復:
這個不是datawindow的異步 是取資料庫資料異步uj5u.com熱心網友回復:
學習 學習!轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/60713.html
標籤:DataWindow
