Question:
I need to find a way to yield the CPU (for x amount of time) from one event to process another event (for x amount of time) in the same application. An event in my application seem to be hogging the CPU from another event.
Thanks,
?Thai
Answer:
The command to release a unit of processor time to other tasks is Yield().
This is a very useful function for allowing PowerBuilder to catch up with screen redraws and allowing new events to be added to and processed from the event queue (like canceling a long running task).
To make PowerBuilder sleep for a period of time, you need to declare a local time variable, assign the current time to the variable using the Now()
command, then setup a WHILE
loop until the period of time has elapsed.
Use the SecondsAfter()
function to calculate how many seconds have elapsed before exiting the loop.