Справочное руководство по TDMS 7.0 API
Example
Смотри также Отправить замечание

Glossary Item Box

Исходный текст

Option Explicit
Call AppendAttributeToObject(ThisObject)

'======================================================================
'Добавить в тип объекта тип атрибута "Комментарий", если его нет
'Замечание 1: выполнять этот скрипт может только системный администратор
'Замечание 2: обратите внимание - при добавлении нового типа атрибута 
'ранее созданные пользовательские объекты не обновляются!
'==============================================================================
Sub AppendAttributeToObject(Object)
    Dim ObjDefAttrs, AttrDef, NewAttrDef
        
    ' Получаем ссылку на коллекцию типов атрибутов объекта
    Set ObjDefAttrs = Object.ObjectDef.AttributeDefs
        
    ' Если тип атрибута в системе не существует, создать его.
    If Not ThisApplication.AttributeDefs.Has("ATTR_COMMENT") Then
        Set AttrDef = ThisApplication.AttributeDefs.Create
        AttrDef.SysName = "ATTR_COMMENT"
        AttrDef.Description = "Комментарий"
        AttrDef.Type = tdmString
        AttrDef.Comments(0) = "Первый комментарий (тестовый)"
        'Значение по умолчанию AttrDef.Value здесь присвоить нельзя -не имеет смысла.
        ' Только для типов атрибутов, полученных из коллекций ObjectDef.Attributes
    Else 
        Set AttrDef = ThisApplication.AttributeDefs("ATTR_COMMENT")
    End If
    
    'В логах отладчика выводим идентификатор
    ThisApplication.DebugPrint("Идентификатор нового типа атрибута - " & AttrDef.Handle)

    'Если тип объекта не содержит атрибута такого типа, добавить его
    If Not ObjDefAttrs.Has(AttrDef) Then     
        ObjDefAttrs.Add(AttrDef)
        MsgBox "Тип атрибута """ & AttrDef.Description _
            & """ успешно добавлен к типу объекта """ & Object.ObjectDefName & """."
    Else 
        MsgBox "Атрибут """ & AttrDef.Description & """ уже определен для объектов типа """ _
            & Object.ObjectDefName & """."
    End If
        
    'теперь можно присвоить значение по умолчанию 
    ObjDefAttrs.Item(AttrDef).Value = "Новый комментарий"
End Sub
'======================================================================
© 2023 CSoft Development. Все права защищены.