Генерируется перед добавлением объектов в состав родительского объекта.
Visual Basic |
---|
Public Event ObjectBeforeContentAdd( _ 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_BeforeContentAdd(Obj, AddCollection, Cancel) 'Проверить добавляемые объекты на соответствие типа For Each AddObj In AddCollection If AddObj.ObjectDefName = "OBJ_TEST" Then msg = "Объект """ & AddObj.Description & """" & Chr(13) &_ "не может быть добавлен в состав объекта """ & Obj.Description & """:" &_ Chr(13) & "несоответствие типа." MsgBox msg, vbInformation, "Ошибка добавления объекта в состав" Cancel = True End If Next End Sub '====================================================================== |