Справочное руководство по TDMS 7.0 API
ObjectsBeforeErase Событие
Смотри также  Пример  Отправить замечание
pObjects
Ссылка на коллекцию удаляемых объектов.
bCancel
TRUE - отменить операцию удаления.
TDMSApplication Объект : ObjectsBeforeErase Событие

Glossary Item Box

Описание

Генерируется перед удалением коллекции объектов из системы.

Опеделение

Visual Basic
Public Event ObjectsBeforeErase( _
   ByVal pObjects As TDMSObjects, _
   ByRef bCancel As Boolean _
)

Параметры

pObjects
Ссылка на коллекцию удаляемых объектов.
bCancel
TRUE - отменить операцию удаления.

Заметки

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

2. Событие является отменяемым: присвоением параметру bCancel значения TRUE можно отменить всю операцию удаления объектов из базы данных.

3. Обработчик может быть размещен в скрипте профиля и/или общесистемном. Если обработчики определены на всех уровнях, то последовательность их вызова такова:

  • скрипт профиля пользователя;
  • общесистемный скрипт.

Если на каком-либо уровне событие было отменено (параметру bCancel присвоено значение TRUE), то обработчики события, размещенные на последующих уровнях, вызваны не будут.

4. Схему последовательности генерации событий при удалении коллекции объектов из системы или состава другого объекта см. на рисунке:

5. Событие генерируется при программном удалении объектов из системы, если включен вызов объектных событий в Окне свойств базы данных (см. рисунок).

Пример

VB Script (Visual Basic)Скопировать код
'======================================================================
'Текст обработчика может быть размещен в скрипте объекта, 
'профиля или общесистемном скрипте.

Sub Object_BeforeErase(Objs, Cancel)
        'Проверить, есть ли в коллекции объекты. Если да - запретить удаление
        If Objs.Count <> 0 Then
                    msg = "Нельзя удалить непустую коллекцию объектов." 
                    MsgBox msg, vbInformation, "Удаление коллекции объектов"
                    Cancel = True
        End If                
End Sub
'======================================================================

Смотри также

© 2023 CSoft Development. Все права защищены.