Генерируется перед удалением объектов из состава родительского объекта.
Visual Basic |
---|
Public Event ObjectBeforeContentRemove( _ ByVal pObject As TDMSObject, _ ByVal pContent As TDMSObjects, _ ByRef bCancel As Boolean _ ) |
- pObject
- Объект, состав которого будет изменен.
- pContent
- Коллекция удаляемых объектов.
- bCancel
- TRUE - отменить изменение состава объекта.
1. Событие является отменяемым: если параметру bCancel присвоено значение TRUE, удаление объектов из состава будет остановлено.
2. Обработчик может быть размещен в скриптах объекта, профиля и/или общесистемном. Если обработчики определены на всех уровнях, то последовательность их вызова такова:
- скрипт объекта;
- скрипт профиля пользователя;
- общесистемный скрипт.
Если на каком-либо уровне событие было отменено (параметру bCancel присвоено значение TRUE), то обработчики события, размещенные на последующих уровнях, вызваны не будут.
3. Для того, чтобы событие генерировалось при работе через API, должен быть включен вызов объектных событий в Окне свойств базы данных (см. рисунок).
VB Script (Visual Basic) | ![]() |
---|---|
'====================================================================== 'Текст обработчика может быть размещен в скрипте родительского объекта, 'профиля или общесистемном скрипте. 'Обработать коллекцию удаляемых объектов Sub Object_BeforeContentRemove(Obj, RemoveCollection, Cancel) 'Проверить удаляемые объекты на соответствие типа For Each RemObj In RemoveCollection If RemObj.ObjectDefName = "OBJ_TEST" Then msg = "Объект типа """ & RemObj.ObjectDefName & """" & Chr(13) &_ "нельзя удалить из состава объекта """ & Obj.Description & """." MsgBox msg, vbInformation, "Удаление " & RemObj.Description Cancel = True End If Next End Sub '====================================================================== |