Тема: Как лучше создать SelectionSet в коллекции AcadSelectionSets?
итак, для создания SelectionSet в коллекции AcadSelectionSets очень популярен следующий код:
Dim objSelSet As AcadSelectionSet Dim objSelCol As AcadSelectionSets Set objSelCol = ThisDrawing.SelectionSets For Each objSelSet In objSelCol If objSelSet.Name = strName Then ThisDrawing.SelectionSets.Item(strName).Delete Exit For End If Next
т.е. проверяем путем перебора а нет ли там нашего SelectionSet bтолько потом добавляем.
а почему не используется ни у кого (ни в одном примере не увидел) такой код:ъ
On Error Resume Next ThisDrawing.SelectionSets.Item(strName).Delete Set objSelSet = ThisDrawing.SelectionSets.Add(strName)
т.е. просто удаляем нафиг наш SelectionSet.
если его не было в коллекции сгенерится ошибка "The search key does not exist." но благодаря оператору On Error Resume Next мы ее проигнорируем и спокойно добавим нужное, а если был - удаляется.
код и короче и нагляднее и работает быстрее.
так почему это никто не использует?