DELPHI enablecontrols,disablecontrols函數

DisableControls方法是在程序修改或後臺有刷新記錄的時候切斷數據組件,如TTABLE、ADOQUERY等等與組件數據源的聯繫。如果沒有切斷,數據源中只要一有數據的改動,尤其是批量改動的話,每一筆的改動都會更新窗口中數據瀏覽組件的顯示,這樣會急劇減慢處理過程而且浪費時間。EnableControls的作用相反,用來恢復TTABLE等組件與DATASOURCE的聯繫,並促使數據瀏覽組件更新顯示。
      這兩個函數主要阻止組件感應顯示,以加快語句執行速度。 比如,用大量的循環的時候,最好用他們。
      1. 數據集的EnableControls, DisableControls方法成對使用的時候, 如果中間的代碼可能會導至出錯的話必須用try..finaly DisableControls; end; 否則會導致數據感知不控制不可使用;
      2. 在遍歷數據或Filter大數據的時候的要用DataSet的EnableControls與DisabbleControls, 否則窗體上的數據感知控件會閃爍.
      enablecontrols,disablecontrols是防止因數據源的改動而造成界面的閃動!在你需要刷新數據時可以調這兩個函數,但建議你把它寫在
try...finally語句塊中!  
  如:  
  try  
      adoQuery1.disablecontrols;  
      adoQuery1.close;  
      adoQuery1.open;  
  finally  
      adoQuery1.enablecontrols;  
  end; 
  TQuery 的EnableControls 和DisableControls 方法都是繼承自TDataSet 類的。由於TTable 和TQuery 都是TDataSet 的派生類,所以它們都有以上這兩個方法。

發佈了225 篇原創文章 · 獲贊 10 · 訪問量 72萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章