Навигация:
<< >> Оглавление Указатель

Описание пользователя

Глава 3. Использование стандартных модулей автокомпиляции

§3.7. Краткий перечень вводимых в модель описаний и реакций на события

§3.7.2. Создание и уничтожение блока

§3.7.2.2. Очистка данных блока

Очистка данных блока – это самое последнее событие в «жизни» блока, возникающее непосредственно перед отключением модели от этого блока из-за его удаления, выгрузки схемы из памяти (например, при закрытии RDS) или подключения к блоку другой модели. В реакции на это событие, как и в реакции на событие инициализации, нельзя обращаться к переменным блока – если сделать это, будет выведено сообщение об ошибке (см. рис. 486). В основном, реакция на очистку данных блока используется для удаления динамических объектов: если в реакции на инициализацию блока разработчик модели вручную отвел память под какие-либо служебные объекты, в реакции на очистку эту память нужно освободить.

Реакция на событие очистки данных вводится на вкладке «события» левой панели редактора модели: раздел «создание и уничтожение», подраздел «очистка блока». Для этой реакции модуль автокомпиляции создает в классе блока функцию без параметров с именем rdsbcppCleanup, внутрь которой вставляется текст программы, введенной пользователем. Функция имеет следующий вид:

  // Block data cleanup before model disconnection
  void rdsbcppBlockClass::rdsbcppCleanup(void)
  {
     … пользовательский текст реакции … 
  }

При написании моделей блоков без использования модуля автокомпиляции событию очистки данных соответствует константа RDS RDS_BFM_CLEANUP.


<< >> Оглавление Указатель