Приложения
Приложение А. Функции, константы и структуры 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.