Visual Basic |
---|
Public Event FileBeforeCheckOut( _ ByVal pFile As TDMSFile, _ ByVal pObject As TDMSObject, _ ByVal strLocation As String, _ ByRef bCancel As Boolean _ ) |
- pFile
- Ссылка на файл, который должен быть выгружен на жесткий диск.
- pObject
- Ссылка на объект, с файловым составом которого производится работа.
- strLocation
- Путь к папке, в которую будет выгружен файл. Параметр только для чтения.
- bCancel
- TRUE - выгрузка файла на диск будет отменена.
1. Событие является отменяемым: если параметру bCancel присвоено значение TRUE, выгрузка файла на диск будет отменена.
2. Событие не генерируется, если файл открывается в режиме защищенного просмотра на Панели свойств главного окна, поскольку при этом выгрузка файлов на диск не производится.
3. Обработчик может быть размещен в скриптах объекта, профиля и/или общесистемном.Если обработчики определены на всех уровнях, то последовательность их вызова такова:
- скрипт объекта;
- скрипт профиля пользователя;
- общесистемный скрипт.
Если на каком-либо уровне событие было отменено (параметру bCancel присвоено значение TRUE), то обработчики события, размещенные на последующих уровнях, вызваны не будут.
4. Схему последовательности генерации событий при выгрузке файлов объекта см. на рисунке:
5. Для того, чтобы событие генерировалось при работе с файлами через API (напр., вызове метода TDMSFile.CheckOut Метод), должен быть включен вызов объектных событий в Окне свойств базы данных (см. рисунок).
VB Script (Visual Basic) | ![]() |
---|---|
'==================================================== 'Текст обработчика может быть размещен в скрипте формы, профиля или 'общесистемном скрипте. Sub File_BeforeCheckOut(File, Object, Location, Cancel) 'Запросить подтверждение операции msg = "Выгрузить файл """ & File.FileName & """" & _ Chr(13) & "объекта """ & Object.Description & """" & _ Chr(13) & "в папку """ & Location & """?" If ((MsgBox(msg, vbYesNo + vbQuestion, "Работа с файлами объекта")) <> VbYes) Then Cancel = True End Sub '==================================================== |