Тема: обработка ошибки HandleToObject удаленного примитива
Проблема: отредактировать список хендлов в XRef после редактирования чертежа, т.е. часть примитивов удалена.
Глючный участок такой:
For i = 0 To UBound(hndlXRef) strTmp = hndlXRef(i) 'проверка наличия примитива по хендлу из hndlXRef On Error GoTo Lab10 'для незаписи хендла несуществующего примитива Set objTmp= ThisDrawing.HandleToObject(strTmp) If IsObject(objTmp) Then 'в принципе строка лишняя ReDim Preserve hndlNul(j) 'массив реальных хендлов hndlNul(j) = hndlXRef(i) j = j + 1 End If 'в принципе строка лишняя Lab10: Next i
где hndlXRef - массив хендлов до редактирования, j - индекс сквозной.
Обработчик ошибки нормально срабатывает только на первом хендле отсутствующего примитива, затем на втором хендле отсутствующего примитива вываливает мессагу с -2147467259 на одном компе, или Анкноун Хендл на другом компе вместо того чтоб обработать так же тихо как первый (строка тормоза Set objErr=....).В Хелпе не описано что генерит HandleToObject при ошибке. Подскажите, что может быть не так или как по другому решить задачу.