Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.2. Управление работой RDS и функции общего назначения

А.5.2.40. rdsRunWithoutEvents – приостановить обработку некоторых некритических событий

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.5. Сервисные функции и макросы RDS

#### А.5.2. Управление работой RDS и функции общего назначения

##### А.5.2.40. rdsRunWithoutEvents – приостановить обработку некоторых некритических событий

Функция rdsRunWithoutEvents временно останавливает реакцию RDS на некритические события: обновление окон, реакцию на мышь и т.п. (обработка клавиатуры не прекращается). Эта же функция используется и для возобновления этой реакции.

      BOOL RDSCALL rdsRunWithoutEvents(
      BOOL Suspend    // Остановить/продолжить обработку
      );

Тип указателя на эту функцию

RDS_BB

Параметр

Suspend(BOOL)
  TRUE, если необходимо остановить обработку некритических событий, и FALSE, если ее нужно возобновить.

Возвращаемое значение

TRUE, если после вызова обработка некритических событий разрешена, FALSE – если запрещена.

Примечания

Остановка реакций на некритические события применяется для кратковременного ускорения работы RDS. Если, например, необходимо рассчитать длительный переходный процесс в какой-либо системе, можно на время этого расчета остановить обновление окон, которое, как правило, занимает много процессорного времени.

При каждом вызове rdsRunWithoutEvents(TRUE) внутренний счетчик вызовов этой функции увеличивается на единицу, а при каждом вызове rdsRunWithoutEvents(FALSE) – уменьшается (но не может стать отрицательным). Обработка некритических событий разрешена только при нулевом значении этого счетчика. Таким образом, допускаются вложенные вызовы rdsRunWithoutEvents – главное, чтобы число вызовов этой функции с параметром TRUE совпадало с числом ее вызовов с параметром FALSE, иначе обработка некритических событий останется запрещенной до загрузки в RDS новой схемы.

Если необходимо разрешить обработку событий независимо от того, сколько раз до этого функция rdsRunWithoutEvents была вызвана с параметром TRUE, можно вызывать ее в цикле с параметром FALSE до тех пор, пока она не вернет TRUE (то есть пока обработка событий не будет разрешена).

См. также

rdsSetSystemUpdate.