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

Описания RDS

Приложения

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

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

А.5.6. Операции с блоками и связями

А.5.6.8. rdsDeleteBlock – удаление блока

# Приложения

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

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

#### А.5.6. Операции с блоками и связями

##### А.5.6.8. rdsDeleteBlock – удаление блока

Функция rdsDeleteBlock удаляет из схемы блок, идентификатор которого передан в ее параметрах.

      void RDSCALL rdsDeleteBlock(
        RDS_BHANDLE Block    // Удаляемый блок
      );

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

RDS_VBh

Параметр

Block(RDS_BHANDLE)
  Идентификатор блока, который необходимо удалить из схемы.

Примечания

Эта функция удаляет блок Block из схемы, если это возможно. Блок не может быть удален, если:

- его моделью в данный момент открыто модальное окно;
- это подсистема, моделью одного из внутренних блоков которой открыто модальное окно;
- это корневая подсистема.

Удаление блока, которому принадлежит открытое в данный момент модальное окно, запрещено, так как это может привести к выгрузке DLL с его моделью, в которой, вероятнее всего, находится и функция открытого окна. Поскольку окно останется открытым и будет продолжать вызывать свою функцию в ответ на системные события, это может привести к ошибкам. Корневая подсистема не может быть удалена в принципе, поскольку это приведет к удалению из памяти всей загруженной схемы.

Вызов функции rdsDeleteBlock не всегда удаляет блок немедленно: если в данный момент идет расчет, блок будет удален только по окончании очередного такта. Если модель пытается удалить свой собственный блок, он тоже не будет удален немедленно: RDS дождется завершения функции его модели, и только тогда удалит этот блок.

Пример

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

См. также

rdsBlockModalWinOpen, rdsDeleteConnection.