SetXRecordData Пример |
Sub Example_SetXRecordData() 'Этот пример создает новый XRecord, прилагаете данные к XRecord и 'читает их. Чтобы видеть, что данные добавленны, выполните пример не раз. Dim TrackingDictionary As AcadDictionary, TrackingXRecord As AcadXRecord Dim XRecordDataType As Variant, XRecordData As Variant Dim ArraySize As Long, iCount As Long Dim DataType As Integer, Data As String, msg As String 'Уникальные идентификаторы, чтобы отличить наш XRecordData от другого XRecordData Const TYPE_STRING = 1 Const TAG_DICTIONARY_NAME = "ObjectTrackerDictionary" Const TAG_XRECORD_NAME = "ObjectTrackerXRecord" 'Соединитесь со словарем, в котором сохранен XRecord On Error GoTo CREATE Set TrackingDictionary = ThisDrawing.Dictionaries(TAG_DICTIONARY_NAME) Set TrackingXRecord = TrackingDictionary.GetObject(TAG_XRECORD_NAME) On Error GoTo 0 'Получите текущий XRecordData TrackingXRecord.GetXRecordData XRecordDataType, XRecordData 'Если нет никакого массива, создайте этот If VarType(XRecordDataType) And vbArray = vbArray Then ArraySize = UBound(XRecordDataType) + 1 ' Доберитесь размер элементов данных ArraySize = ArraySize + 1 ' Увеличение, чтобы содержать новые данные ReDim Preserve XRecordDataType(0 To ArraySize) ReDim Preserve XRecordData(0 To ArraySize) Else ArraySize = 0 ReDim XRecordDataType(0 To ArraySize) As Integer ReDim XRecordData(0 To ArraySize) As Variant End If 'Приложите новые Данные XRecord ' 'Для этого образца, мы только прилагаем текущее время к XRecord XRecordDataType(ArraySize) = TYPE_STRING: XRecordData(ArraySize) = CStr(Now) TrackingXRecord.SetXRecordData XRecordDataType, XRecordData 'Читайте все входы XRecordData TrackingXRecord.GetXRecordData XRecordDataType, XRecordData ArraySize = UBound(XRecordDataType) 'Получите и покажите сохраненный XRecordData For iCount = 0 To ArraySize 'Получите информацию для этого элемента DataType = XRecordDataType(iCount) Data = XRecordData(iCount) If DataType = TYPE_STRING Then msg = msg & Data & vbCrLf End If Next MsgBox "Данные в XRecord: " & vbCrLf & vbCrLf & msg, vbInformation Exit SubCREATE: 'Создайте объекты, которые держат XRecordData If TrackingDictionary Is Nothing Then ' Удостоверьтесь, что объект отслеживания там Set TrackingDictionary = ThisDrawing.Dictionaries.Add(TAG_DICTIONARY_NAME) Set TrackingXRecord = TrackingDictionary.AddXRecord(TAG_XRECORD_NAME) End If Resume End SubСайт управляется системой uCoz