************** Текст исключения **************
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в Autodesk.AutoCAD.Runtime.Interop.CheckNull(IntPtr returnValue)
в Autodesk.AutoCAD.ApplicationServices.TransactionManager.StartTransaction()
в Iteris.AutoCAD.Details.AutoCAD.PasteTableCmd.RunPasteTable()
в Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorker(MethodInfo mi, Object commandObject, Boolean bLispFunction)
в Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorkerWithExceptionFilter(MethodInfo mi, Object commandObject, Boolean bLispFunction)
в Autodesk.AutoCAD.Runtime.CommandClass.CommandThunk.Invoke()
То есть, в командном методе при попытке запустить транзакцию вываливается исключение.Нет активного документа/базы и соответственно TransactionManager == nullТак ведь это же команда - она не запустится, если нет документа. К тому же, у меня в коде идёт проверка полученных Document, Database и Editor. Транзакцию я запускаю через базу:
Кстати, references шли на dll-ки из ObjectARX SDK правильной версии и Copy Local установлен в False?Да, проверил, с ними всё в порядке. Там вообще загрузка из Bundle-пакета, который формируется инсталятором - туда ничего лишнего не попадает. А ссылки да, идут на правильные версии...
Ну тогда похоже что к моменту этого исключения AutoCAD уже разрушился и не может стартовать транзакцию. Ну например нет места на диске для временных файлов или слишком много файлов в каталоге (давно не чистили %TEMP%)Места на диске свободно чуть больше 300 Гб. А вот про темпы интересная мысль! Но, вроде как, на той машине относительно недавно переустанавливали всю систему, так что, шансов мало, что там уже всё забито. Но проверю, спасибо!
У тебя же этот код работает нормально?Да, нормально. Но и у пользователя, как я понял, не сразу ошибка выскакивает, а после нескольких минут работы, причём, в рандомный момент и не обязательно именно в этой команде. У меня два отчёта - в них разные команды, но обе споткнулись на запуске транзакции.
А АКАД какой? У меня похожая проблема на нескольких компах с 2015-м имеет место. Те же самые программы под 2013-й и 2017-й нормально работают.Civil 3D 2017 со всеми последними обновлениями.
Да там как обычно... Чертёж надо сделать "ещё вчера". Автокад вылетает, приложение выкидывет исключения. Если я ещё приду с предложением "а давайте немного поэкспериментируем" - боюсь, что меня казнят :-\Это может быть специфика Civil 3D.
Может такое быть?Вполне возможно. Более того я бы категорически не рекомендовал запускать одновременно два AutoCAD (а тем более Civil 3D). Даже программисты Autodesk не всегда могут спрогнозировать к чему это приведёт, а обычный пользователь и подавно. Если ему уж очень нужно, то пусть открывает несколько документов в одном AutoCAD/Civil 3d.
Пожалуй, Вы правы. Я передал пользователям Ваше предупреждение со ссылкой на эту тему.Вообще-то идеального решения нет. Как минимум если они запускают несколько Civil'ов, то после Fatal Error в одном из них - нужно перезапускать ВСЕ!