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

Описания RDS

Приложения

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

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

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

А.5.2.11. rdsBlockModalWinOpen – сообщение об открытии модального окна

# Приложения

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

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

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

##### А.5.2.11. rdsBlockModalWinOpen – сообщение об открытии модального окна

Функция rdsBlockModalWinOpen уведомляет RDS об открытии модального окна средствами Windows API. Она всегда используется вместе с парной функцией rdsBlockModalWinClose.

      void RDSCALL rdsBlockModalWinOpen(
        RDS_BHANDLE Block    // Блок, открывший окно
      );

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

RDS_VBh

Параметр

Block(RDS_BHANDLE)
  Идентификатор блока, с которым связано открытое модальное окно, или NULL, если оно связано с блоком, из модели которого вызвана эта функция.

Примечания

Если модель блока или модуль автокомпиляции открывают модальные окна не средствами RDS, а самостоятельно, при помощи функций Windows API, они должны сообщать RDS о каждом открытии и закрытии окна функциями rdsBlockModalWinOpen и rdsBlockModalWinClose соответственно (см. §1.8). На время открытия модального окна RDS запрещает удаление блока, модель которого его открыла, поскольку это может привести к выгрузке DLL с моделью блока до того, как завершится процедура окна, которая тоже, как правило, находится в этой DLL. По этой причине в параметре функции rdsBlockModalWinOpen следует передавать идентификатор блока, которому принадлежит окно, за исключением случаев, когда эта функция вызывается из модели блока – при этом RDS может самостоятельно определить блок-владелец окна и в параметре Block можно передать значение NULL.

RDS считает число вызовов функций rdsBlockModalWinOpen и rdsBlockModalWinClose для каждого блока в отдельности, поэтому если, например, из модели одного блока (или откуда-то еще с указанием идентификатора этого блока) функция rdsBlockModalWinOpen была вызвана три раза, этот блок можно будет удалять только после третьего вызова rdsBlockModalWinClose.

Пример

Пример использования функции rdsBlockModalWinOpen приведен в §2.7.5 руководства программиста.

См. также

rdsBlockModalWinClose, rdsModalWindowExists, rdsModalWindowMustClose.