Visual Basic |
---|
Public Sub Update() |
1. Метод выполняет обновление значений свойств объекта в базе данных. При этом сначала запрашивается вся информация, связанная с объектом, из таблиц базы данных. Таким образом считываются изменения, внесенные другими пользователями. Затем обновляются все свойства и связи локальной копии объекта, отображая полученные данные; при этом пересчитываются значения вычисляемых свойств объекта(например, Description, если для него был задан формат описания). Затем выполняется запрос к базе данных на обновление таблиц.
2. Поскольку обновление свойств объекта при редактировании производится сразу же, дополнительный вызов метода Update для сохранения изменений не требуется. В основном он нужен для обратного - получения последней информации из базы, например:
ThisObject.Lock ' Метод выполнил запрос к базе данных - взведен флаг Locked
MsgBox ThisObject.Permissions.Locked ' False, т.к. у нас локальная необновленная копия объекта
ThisObject.Update ' Свойства объекта перезачитаны из базы
MsgBox ThisObject.Permissions.Locked ' True
3. Метод приводит к пересчету атрибутов с вычисляемыми значениями по умолчанию, но только в единственном случае - при создании нового объекта. Дальнейшие вызовы метода ничего не дадут, поскольку единственное назначение "значения по умолчанию" - инициализация атрибутов:
Set obj = ThisApplication.Desktop.Objects.Create("OBJ_TEST")
MsgBox obj.Attributes("ATTR_STRING") 'Пусто - для этого атрибута установлено вычисляемое значение по умолчанию
obj.Update 'Вызов метода в данном случае приводит к инициализации атрибута
MsgBox obj.Attributes("ATTR_STRING") ' "Default value"
obj.Attributes("ATTR_STRING") = "New value" 'Значение сохранено в базе
obj.Update 'Теперь значение атрибута пересчитываться не будет
MsgBox obj.Attributes("ATTR_STRING") ' "New value"
4. Метод не имеет отношения к обновлению пользовательского интерфейса - для перерисовки необходимо использовать ThisApplication.Shell.Update.
5. TDMS_MC TDMS_UEA.
TDMS_ETO