Clarion 7.1 introduces two new functions; FREEZE and UNFREEZE. FREEZE/UNFREEZE are used in tandem to suppress redrawing while you adjust multiple attributes of a control. For example, you would typically call the FREEZE method, then set the Size, Location, Text, or Color properties of the control, and then call the UNFREEZE method to enable the changes to take effect. This can increase the performance of applications with many controls, and eliminate screen flicker when dynamically creating controls or adjusting their properties.
The syntax is:
FREEZE (SIGNED feq),SIGNED
FREEZE suspends redrawing of the control which is identified by the feq parameter.
The return value must be passed to a paired UNFREEZE.
UNFREEZE (SIGNED feq, SIGNED state)
This function resumes redrawing of the control previously suspended by FREEZE.
The second parameter is a value returned by last FREEZE for that control which has not been closed
by paired UNFREEZE.
Calls to FREEZE can be nested. Every such call must have its paired UNFREEZE,
for example:
x1# = FREEZE (feq)
...
x2# = FREEZE (feq)
...
UNFREEZE (feq, x2#)
...
UNFREEZE (feq, x1#)
FREEZE and UNFREEZE must be properly paired: if there isn’t a paired call to UNFREEZE for an executed FREEZE, the control cannot be redrawn. The UNFREEZE function forces redrawing of the control.
(note: FREEZE/UNFREEZE cannot be used for menu items)