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

Описания RDS

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

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

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

§3.7.6. Загрузка и запись данных блока и всей схемы

§3.7.6.2. Запись данных блока

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

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

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

#### §3.7.6. Загрузка и запись данных блока и всей схемы

##### §3.7.6.2. Запись данных блока

Событие записи данных блока возникает при сохранении этого блока в файл вместе со всей схемой, при сохранении его в отдельный файл, при копировании его в буфер обмена, а также при записи его во вспомогательный буфер отмены операций перед тем, как пользователь изменит параметры этого блока. Реакция на запись данных вводится на вкладке «события» левой панели редактора модели: раздел «загрузка и запись данных», подраздел «запись данных блока». Не следует путать эту реакцию с реакцией на запись состояния блока (см. §3.7.7.2).

Если у блока есть какие-то сложные параметры, которые невозможно описать средствами редактора модели (например, массивы, связные списки и т.п.), в этой реакции модель должна сформировать текст, описывающий эти параметры, который она сможет потом разобрать в реакции на загрузку данных. Этот текст передается в RDS при помощи специальных сервисных функций, рассмотренных в §2.8.3, §2.8.4 и §2.8.5 руководства программиста.

Настроечные параметры, добавленные в модель средствами редактора (см. §3.5.6 и §3.6.6), сохраняются и загружаются автоматически, для их сохранения данная реакция не требуется. Тем не менее, в этой реакции можно сохранить какие-либо дополнительные параметры – сформированный для них текст будет передаваться в реакцию на загрузку данных при загрузке блока.

В классе блока для реакции на событие записи данных блока создается функция с именем rdsbcppSaveText без параметров:

      // Saving block personal data text
      void rdsbcppBlockClass::rdsbcppSaveText(void)
      {
         … пользовательский текст реакции …
      }

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