>>>You cannot guarantee that a timer won't switch the alias on you.
>>
>>Well written timer action code can handle this. But really asynch behavior like keyboard interrupts or asynch return from old style OLE-Linking and embedding can still throw wrenches in such code ;-)
>
>There is stuff that is unable to survive badly written asynched events.
>A
>
>REPLACE;
> Alias.Field WITH VALUE;
> FOR condition;
> IN Alias
>
>Will die silently, if async code sets the current workarea to something different then alias, but on EOF, as far as I remember.
>
>
>SELECT alias
>SCAN
>
>is helpless, if workarea is changed in between.
> ¯\_(ツ)_/¯
The last sentence is wrong, Scan will take care of changing the work area back to the correct one.