PA_PutProcessToSleep

4D - Documentation   Français   English   German   4D Plugin API, Command Theme List   4D Plugin API, Command Alphabetical List   Back   Previous   Next

version 2003


PA_PutProcessToSleep (pNum; time)

ParameterTypeDescription
pNumlongProcess number
timelongDelay expressed in ticks

Description

The routine PA_PutProcessToSleep delays the execution of the process whose number is passed in pNum for a number of ticks passed in time.

A delayed process can be awaken by PA_UnfreezeProcess.

NOTE

If the process was already delayed when the call is made, the new delay replaces the remaining time rather than adding to it.

This entry point does the same thing than the 4D Command DELAY PROCESS. For more information, refer to the 4th Dimension Language Reference manual.

Example

Generic routine to delay any process. As the User/Custom menus process cannot be delayed using PA_PutProcessToSleep, we must include a waiting loop in this case.

   long MyDelayCurrentProcess(long delayInTicks)
   {
      long   currentProcess = PA_GetCurrentProcessNumber();
      if(currentProcess != 1)
         PA_PutProcessToSleep(currentProcess, delayInTicks);
      else
      {
         long   start;
      // GetTheTicks is a routine that returns the ticks count
      // under both Windows and MacOS
         start = GetTheTicks();
         while( (GetTheTicks() - start) < delayInTicks )
            PA_Yield();
      }
   }

See Also

DELAY PROCESS, PA_FreezeProcess, PA_UnfreezeProcess.

Error Handling

Use PA_GetLastError to see if an error occurred


4D - Documentation   Français   English   German   4D Plugin API, Command Theme List   4D Plugin API, Command Alphabetical List   Back   Previous   Next