Отправлено: 09.12.05 09:03. Заголовок: Отслеживание событий OnOpenDocument
Для поиска чертежа отселектированного из ListBox *.ipt из проги , принадлежащих пороекту я делаю итерацию в папках проекта открывая каждый файл *.idw c False флагом: Set oMyDoc = ThisApplication.Documents.Open(MyPath & MyName, False) и смотрю его Reference ( т.е ищу чертеж который имеет Reference на отселектированный *.ipt)
Существует такая ситуация когда чертеж имеет Reference , например на файл 1.ipt , но 1.ipt был ранее ( кем то, может по ошибке) заменен на другой ( по геометрии) файл с тем же именем 1.ipt. Тогда я получаю сообщение:"Previous file 1.ipt different component from selected file 1.ipt .Component substitution is not permitted in drawing." Т.е Inventor "говорит" что файл чертежа ссылается на деталь которая имеет геометрию не совместимую с предыдущей, из которой получен чертеж. И прога валится при попытке открыть такой чертеж. Я пытаюсь отследить это в событии в OnOpenDocument event , без результатно. Вот и хотелось бы знать какое событие , или объект API Inventora производит сравнение геометрии исходного файла *.ipt для производного *.idw. Может как то сумбурно я описал проблемму.Но вроде понятно.Уточню по мере поступления ответов. Помогите решить енто!!
Я пытаюсь : Do While MyName <> "" ... ... On Error GoTo ErrorHandler Set oMyDoc = ThisApplication.Documents.Open(MyPath & MyName, False)
и тут же все затыкается ... ... ErrorHandler: err.Clear ... ... ... Loop Может в процессе открытия файла *.idw который не может при открытии найти своего "родоначальника"(Reference) ( вернее находит , но файл под тем же именем имеет другую геометрию) , вступает API обработчик события Инвенторовский и все гробит? Или обработчик Err мной не так прописан? Подскажите, пожалуйста.
Может попробовать отлавливать ошибку в событии при открытии документа OnOpenDocument Там, кажется, можно проконтролировать моменты до открытия, сразу после открытия и другие. Всего не знаю.
Обработчик ошибок, по моему, написан нормально.
А сообщение-то Инветора выдается в какой момент?
Ну что еще можно попробовать? Я бы попробовал, например, заменить False на True. Вдруг что-то изменится...
цитатаОбработчик ошибок, по моему, написан нормально.
Представляешь перенес эти файлы в другой проект ( проект создал новый) и все заработало ( с твоим обработчиком Err ( т.е. то что ты предложил) . Я прогу свою балван не перезапускал Спасибо большое.От событи краха я отделался теперь вот есть еще обработчик OnFileResolution там можно обрабатывать событие с unresolved компанентами , буду пробывать.Не бросать же ошибку. Огромное спасибо за быструю помощь.
Все даты в формате GMT
3 час. Хитов сегодня: 2
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация вкл, правка нет