Progress
Programming
Handbook


Frame Flashing

A phenomenon called frame flashing occurs when an iterating block displays to a frame that is scoped to an enclosing block. To see frame flashing, run this procedure:

p-frm13.p
/* This procedure produces flashing */

FORM customer.cust-num customer.name
     customer.credit-limit
     WITH FRAME cust-frame.

FOR EACH customer:
    DISPLAY cust-num name credit-limit
    WITH FRAME cust-frame.
END. 

Iterating blocks repeatedly display data to the screen. If the data is displayed to a down frame that iterates and advances for each pass through the block, no frame flashing occurs. However, since cust–frame is not scoped to the iterating block, Progress does not provide the appropriate frame services. (For more information on frame services, see the "Frame Services" section.) Therefore, each iteration of the block overwrites the data from the previous iteration, which produces flashing.

You must take two steps to correct frame flashing. First, make the flashing frame a down frame with the DOWN frame phrase (for more information on frame phrases, see the Frame phrase reference entry in the Progress Language Reference ). Second, use a DOWN statement to advance the cursor to the next iteration of the frame. When you apply these steps to the previous procedure, frame flashing no longer occurs:

p-frm14.p
FORM customer.cust-num customer.name
     customer.credit-limit
     WITH FRAME cust-frame DOWN.

FOR EACH customer:
    DISPLAY cust-num name credit-limit
    WITH FRAME cust-frame.
    DOWN WITH FRAME cust-frame.
END. 


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095