Visual Basic |
---|
Public Event ObjectBeforeErase( _ ByVal pObject As TDMSObject, _ ByRef bCancel As Boolean _ ) |
- pObject
- Объект, который должен быть удален.
- bCancel
- TRUE - отменить удаление объекта.
1. Событие является отменяемым: присвоением параметру bCancel значения TRUE можно отменить удаление объекта из базы данных.
2. Обработчик может быть размещен в скриптах объекта, профиля и/или общесистемном. Если обработчики определены на всех уровнях, то последовательность их вызова такова:
- скрипт объекта;
- скрипт профиля пользователя;
- общесистемный скрипт.
Если на каком-либо уровне событие было отменено (параметру bCancel присвоено значение TRUE), то обработчики события, размещенные на последующих уровнях, вызваны не будут.
3. Схему последовательности генерации событий при удалении объекта из системы или состава другого объекта см. на рисунке:
4. Событие не генерируется при программном удалении объекта, например методом , а также при удалении объекта из состава другого объекта.
5. Для того, чтобы событие генерировалось при работе через API (при вызове метода TDMSObject.Erase Метод), должен быть включен вызов объектных событий в Окне свойств базы данных (см. рисунок).
VB Script (Visual Basic) | ![]() |
---|---|
'====================================================================== 'Текст обработчика может быть размещен в скрипте объекта, 'профиля или общесистемном скрипте. Sub Object_BeforeErase(Obj, Cancel) 'Проверить, есть ли у объекта состав. Если да - запретить удаление If Obj.Content.Count <> 0 Then msg = "Нельзя удалить объект с непустым составом." MsgBox msg, vbInformation, "Удаление объекта" Cancel = True End If End Sub '====================================================================== |