В TDMS 4.0 были внесены следующие новые свойства, методы и обработчики событий:
Form_TableAttributeBeforeRowAdd– событие вызывается перед тем как будет добавлена строка к табличному атрибуту (вставка строки, дублирование, введение значения в последней неинициализированной строке). Добавление строки можно отменить.
Form_TableAttributeRowAdded – событие вызывается после того, как строка добавлена.
Form_TableAttributeBeforeRowRemove – событие вызывается перед удалением строки из табличного атрибута. Операция может быть отменена.
Form_TableAttributeRowRemoved – событие вызывается после удаления строки из табличного атрибута.
Form_TableAttributeOrderChanged – событие вызывается после каждого изменения порядка строк в табличном атрибуте.
Все вышеописанные события вызываются только как реакция на действия пользователя при работе на форме ввода с элементом управления табличного атрибута. При изменении таблицы посредством программного кода через API события не вызываются.
При добавлении, удалении и изменении порядка строк события Form_TableAttributeChange, Form_AttributeChange не вызываются также как и в TDMS 3.0;
Object_BeforeSignAdd – событие вызывается перед добавлением пустого шаблона подписи на объект. Это событие вызывается только при добавлении новых шаблонов подписей для объекта (при создании объекта он создается с шаблонами подписей, для которых событие не вызывается).
Object_SignAdded – событие вызывается после того, как шаблон подписи был добавлен на объект.
Object_BeforeSign - событие вызывается перед простановкой подписи (после того, как нажата кнопка ОК в диалоге подписания и после проверки пароля подписи). Установку подписи средствами TDMS можно отменить, и подписать, используя свой алгоритм. Для этого необходимо прервать цепочку обработчиков, установив параметр Cancel = True и вызвав метод TDMSSign.SetExternalSign
Object_Signed – событие вызывается после того, как объект был успешно подписан стандартной подписью TDMS.
Object_BeforeSignDrop – событие вызывается перед тем, как подпись будет помечена как недействительная. Событие можно отменить.
Object_SignDropped – событие вызывается после того, как подпись помечена как недействительная. События BeforeSignDrop и SignDropped вызываются только в результате явного вызова команды TDMSSign.Drop из COM. В том случае, если метод применяется к недействительной подписи, события не вызываются.
Object_BeforeSignErase – событие вызывается перед тем, как пустой шаблон подписи или недействительная подпись будут удалены с объекта. Чтобы удалить подпись, нужно сначала применить метод Drop, затем метод Erase. Событие можно отменить.
Object_SignErased – событие вызывается после того, как пустой шаблон подписи или недействительная подпись были удалены с объекта.
Object_CheckExternalSign – событие вызывается для проверки актуальности внешней подписи, установленной методом SetExternalSign. Чтобы убедится в том, что подпись действительна, необходимо прочитать содержимое (открытый ключ) подписи TDMSSign.Signature, проверить с его помощью неизменность подписанного содержимого в свойстве TDMSSign.SignedContent (хранится в формате XML). Также необходимо сравнить, соответствует ли подписанное содержимое текущему XML-представлению объекта TDMSSign.ActualContent. В том случае, если подпись верна, установите значение параметра bValid = True.
Object_SignExternalPropertiesDlg – событие вызывается при открытии диалога дополнительных свойств подписи, который открывается по кнопке Дополнительно на диалоге свойств подписи. Событие может быть вызвано только для объекта, подписанного внешней подписью, установленной методом SetExternalSign;
Version_BeforeCreate – событие вызывается перед созданием версии. В этом событии можно отменить создание версии.
Version_Created – событие вызывается после создания версии;