Приложения
Приложение А. Функции, константы и структуры 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 (то есть пока обработка событий не будет разрешена).
См. также