devxlogo

Are there any yield/sleep type statements in PB?

Are there any yield/sleep type statements in PB?

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.

devx-admin

Share the Post: