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

Описания RDS

Приложения

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

А.2. События блока и связанные с ними описания

А.2.5. События загрузки и сохранения схемы и отдельных блоков

А.2.5.5. RDS_BFM_LOADTXT – загрузка данных блока в текстовом формате

# Приложения

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

### А.2. События блока и связанные с ними описания

#### А.2.5. События загрузки и сохранения схемы и отдельных блоков

##### А.2.5.5. RDS_BFM_LOADTXT – загрузка данных блока в текстовом формате

Поток, в котором вызывается функция модели

Главный поток RDS.

Первый параметр функции модели (int CallMode)

Константа RDS_BFM_LOADTXT.

Третий параметр функции модели (void *ExtParam)

Указатель на строку (char*), в которой содержится весь блок текста с сохраненными параметрами блока. Функция модели должна разобрать этот текст и записать параметры в личную область данных блока.

Возвращаемое функцией модели значение

Не используется, можно возвращать любое значение.

Примечания

Реакция на событие RDS_BFM_LOADTXT вызывается для загрузки данных, сохраненных в текстовом формате при сохранении схемы или отдельного блока в момент реакции на событие RDS_BFM_SAVETXT. Модель должна загрузить в память параметры блока, хранящиеся в его личной области данных, не обрабатываемой RDS, анализируя текст, записанный ей же в момент сохранения. В RDS встроены различные дополнительные функции и объекты, использование которых позволяет упростить создание и разбор текста, описывающего параметры блока.

Загрузка данных блока выполняется в следующих случаях:

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

Событие RDS_BFM_LOADTXT возникает только в том случае, если данные блока были сохранены в текстовом формате. Если данные были сохранены в двоичном, вместо него возникнет событие RDS_BFM_LOADBIN. Формат сохранения может выбираться моделью блока независимо от того, в каком формате сохраняется вся схема или блок, поэтому в функции модели блока достаточно предусмотреть реакцию либо на пару событий, работающих с двоичным форматом (RDS_BFM_SAVEBIN/RDS_BFM_LOADBIN), либо на пару, работающую с текстовым (RDS_BFM_SAVETXT/RDS_BFM_LOADTXT). Сохранение и загрузка данных блока подробно рассматриваются в §2.8 руководства программиста.

Результат возврата функции модели при реакции на событие не анализируется RDS. Если в процессе загрузки параметров произошла ошибка, функция модели должна вызвать сервисную функцию rdsReportTextLoadError, передав в ее параметре текстовое описание ошибки, которое будет показано пользователю.

См. также

RDS_BFM_SAVETXT, RDS_BFM_LOADBIN, rdsReportTextLoadError, rdsSTRCreateTextReader, rdsINICreateTextHolder, rdsCSVCreate.