Accuracer: The First And Only Cross-Platform BDE Replacement
Client-Server Single-File Embedded Database with SQL for Delphi / C++Builder / Kylix
Disables data display in data-aware controls associated with the dataset.
Call DisableControls prior to iterating through a large number of records in the dataset to prevent data-aware controls from updating every time the active record changes. Disabling controls prevents flicker and speeds performance because data does not need to be written to the display.
If controls are not already disabled, DisableControls records the current state of the dataset, broadcasts the state change to all associated data-aware controls and detail datasets, and increments the dataset's disabled count variable. Otherwise, DisableControls just increments the disabled count variable.
The disabled count is used internally by other methods and objects to determine whether to display data in data-aware controls. When the disable count variable is greater than zero, data is not displayed.
If the dataset is the master of a master/detail relationship, calling DisableControls also disables the master/detail relationship. Setting BlockReadSize instead of calling DisableControls updates the detail datasets as you scroll through the dataset, but does not update data-aware controls.
DisableControls can safely be called when controls are already disabled. In complex applications there may be separate operations that are sometimes nested, both of which need to disable controls.