Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Refresh screen

Status
Not open for further replies.

newtoclarion

Programmer
Jul 20, 2011
66
0
0
SA
Hi
I have this screen which have many loops for different long actions. these actions take hours (data convert), I have counters to show the progress.

The problem that if I run another windows program and go back to that screen , the screen doesnt refresh until the end of the process.
I used "Yield" command in loops to cause periodic refresh but it increases the time of the process.

any other way to refresh the screen without delaying the process?

Iam using clarion 6.3
 
Hi!

Since Clarion 6 uses true threading, the proper way is to have an accept loop and process a set of records on EVENT:Timer (similar to the generated code for Processes & Reports). YIELD() should be used every 100 records and not on every record being processed as shown below.

Code:
C# = 0
SET(...)
LOOP
   NEXT(...)

   IF ERRORCODE() THEN BREAK.

   C# += 1

   IF C# % 100 = 0 THEN YIELD().

   ... process ...
END

Regards
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top