FAQ: Can the display be updated while an Avenue script is running?
Can the display be updated while an Avenue script is running?
Note: The information in this article applies to ArcView GIS versions 3.x only. The instructions described apply to the Avenue programming language, which is specific to the ArcView GIS application.
Avenue queues display requests and does not process them until there is a break in the script or until directed to.
Use the Flush request inside the script in order to update the display with all waiting drawing events. An example of how flush may be used follows:
'--- Reference the view object theView = av.GetProject.FindDoc("View1")
'--- Add a draw event request to the draw event queue theView.Invalidate
'--- Force the draw event queue to be processed before the next Avenue request theView.GetDisplay.Flush
Avenue maintains drawing requests in a queue until all scripts finish. This is necessary as some drawing requests may take several seconds and would slow script operations tremendously, if allowed to execute while a script is running.