IFreeze vs IShowActions

Just wondering if there is a difference between IFreeze and IShowActions?

Would using 1 be more desirable in certain situations that the other? I have only used IFreeze in my scripts myself, but am seeing some others use IShowActions.


They’re different things. IFreeze is very useful if you want to do stuff behind the scenes. It basically stops any changes to the interface until completion. However, care is needed when doing operations on subtools in a loop - this has led to problems in the past. It’s best to use [IUpdate] inside the loop, to refresh but not redraw the interface.

IShowActions relates to the Show Actions switch in the ZScript palette which, if on, should highlight each interface button etc. as a zscript is played. This dates from when the primary purpose of zscripts was as tutorials. It doesn’t seem to work now but you can get some idea if you record a zscript of a few button presses then play it back with Show Actions and the &Notes switches turned on - the autonotes will pop up for each button press. Putting [IShowActions,0] in your script will make sure that if the user happens to have these switches turned on they have no effect.

I see, that makes sense. Thanks once again the clear explanation Marcus. I’ll also be sure to add [IUpdate] to my more intensive ST loops