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

Описания RDS

Приложения

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

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

А.5.29. Вспомогательный объект для отмены редактирования параметров блока

А.5.29.1. rdsBEUCreate – создать объект для отмены редактирования параметров блока

# Приложения

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

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

#### А.5.29. Вспомогательный объект для отмены редактирования параметров блока

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

##### А.5.29.1. rdsBEUCreate – создать объект для отмены редактирования параметров блока

Функция rdsBEUCreate создает вспомогательный объект RDS, позволяющий позже вернуть параметры блока в состояние на момент создания этого объекта.

      RDS_HOBJECT RDSCALL rdsBEUCreate(
        RDS_BHANDLE Block    // Блок
      );

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

RDS_HoBh

Параметр

Block(RDS_BHANDLE)
  Идентификатор блока, параметры которого запоминаются.

Возвращаемое значение

Уникальный идентификатор созданного объекта (RDS_HOBJECT).

Примечания

Эта функция создает вспомогательный объект, который будет содержать два полных набора параметров блока: до изменения и после изменения. С помощью этого объекта можно добавить операцию какого-либо программного изменения параметров блока в общий список выполненных пользователем операций. Пользователь сможет отменить эту операцию, выбрав пункт меню «Система | Отменить» или нажав Ctrl + Z, а также возвратить отмененную операцию, выбрав пункт меню «Система | Возврат» или нажав Ctrl + R.

Созданный вспомогательный объект будет существовать до тех пор, пока схема не будет выгружена из памяти, или пока он не будет удален вызовом функции rdsDeleteObject.

Параметры блока до изменения запоминаются в момент создания объекта. Обычно работа с таким объектом строится по следующему сценарию:

- объект создается вызовом rdsBEUCreate, при этом все параметры блока, идентификатор которого передан в функцию, сохраняются во внутренней памяти объекта;
- параметры блока программно изменяются каким-либо образом;
- при помощи команды RDS_BEU_STORECHANGED прежние параметры блока из памяти объекта и измененные параметры этого же блока передаются в общий набор запомненных операций RDS – теперь изменение может быть отменено пользователем;
- объект удаляется вызовом rdsDeleteObject – поскольку параметры блока сохраняются в момент создания объекта, для повторного использования этот объект непригоден.

При сохранении параметров блока до и после изменения модель этого блока вызывается для реакции на событие RDS_BFM_SAVEBIN и RDS_BFM_SAVETXT для того, чтобы она могла сохранить параметры из личной области данных блока. При этом в качестве причины сохранения данных указывается RDS_LS_SAVEUNDO (см. вызов функции rdsGetSystemInt с параметром RDS_GSISAVELOADACTION).

Следует помнить, что при изменении параметров блока в функции настройки (событие RDS_BFM_SETUP) добавление параметров блока до и после изменения в общий набор запомненных операций производится автоматически, и использовать этот вспомогательный объект не следует.

См. также

Вспомогательные объекты, rdsDeleteObject, RDS_BEU_STORECHANGED, RDS_BFM_SAVEBIN, RDS_BFM_SAVETXT.