Тема: Можно ли удалить или изменить расширенные данные?

Здравствуйте!
Можно ли удалить или изменить расширенные данные (XData) у объекта? Я нашел только SetXData и GetXData?
Если нельзя изменять или удалять, как быть?
Заранее спасибо.

Re: Можно ли удалить или изменить расширенные данные?

> wl2000
Посмотри сюда:
http://discussion.autodesk.com/forums/t … tart=18240
~'J'~

Re: Можно ли удалить или изменить расширенные данные?

Это работает, спасибо. Но возникла неожиданная проблема: я вчера установил 2009-й ACAD в первый раз (решил попробовать продукт) и при исполнении строки

ThisDrawing.Utility.GetEntity e, pt, "Select object: "

программа зависает на 5-6 минут. Потом только дает выбрать объект и до конца работает исправно. Это такой кривой ACAD или что-то еще? Может быть, проблема в переменной pt?
(Другой версии AutoCAD нет. Проверить не могу).
Вот весь код:

Public Sub test()
Dim e As AcadEntity, pt As Variant
ThisDrawing.Utility.GetEntity e, pt, "Select object: "
Call ClearXdata(e)
End Sub
Public Sub ClearXdata(ent As AcadEntity)
Dim xType, xData
Dim xTypeClear(0) As Integer, xDataClear(0) As Variant
Dim i As Long
xTypeClear(0) = 1001
ent.GetXData "", xType, xData
For i = LBound(xType) To UBound(xType)
If xType(i) = 1001 Then
xDataClear(0) = xData(i)
ent.SetXData xTypeClear, xDataClear
End If
Next
End Sub

Заранее спасибо

Re: Можно ли удалить или изменить расширенные данные?

> wl2000
К сожалению, нет возможности проверить...
Может кто еще попробует
~'J'~

Re: Можно ли удалить или изменить расширенные данные?

Запустил код на 2008-м. Никаких зависаний.

Re: Можно ли удалить или изменить расширенные данные?

Запустил код на 2009. Все нормально. Без зависаний.

Re: Можно ли удалить или изменить расширенные данные?

Немного странный код.
Делает много лишнего.
Кроме того, при отстутстви xData у выбранного объекта в операторе "LBound(xType)" возникнет ошибка, что вполне предсказуемо.