Ошибка при назначении текущего слоя

Автор Тема: Ошибка при назначении текущего слоя  (Прочитано 9694 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Назначаю текущий слой через Database.Clayer внутри обработчика doc_CommandWillStart. Обычно все работает хорошо, слой меняется. Но иногда, редко но регулярно, происходит ошибка eInvalidInput. Нарочно такую ситуацию создать не получается, поэтому отладка невозможна. Что можно предпринять? Может проверить какие-то свойства текущего чертежа, какие-то блокировки? Может в нем что-то происходит не вовремя, что не позволяет менять текущий слой?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
1. Надеюсь, что слой существует и он может быть назначен текущим.
2. Надеюсь ты блокируешь документ перед изменением текущего слоя.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Наличие слоя проверяю. А вот блокировки не делал. Стыдно признаться, но спросить тут было быстрее, чем эксперементировать и месяц ждать - будут ли хоть у кого-нибудь сбои. Кроме того вообще опасаюсь ставить блокировку в обработчике CommandWillStart. И я не трогаю никаких объектов чертежа, не создаю новых. Где можно почитать про блокировку документа? Что они на самом деле блокируют, когда надо блокировать и когда нельзя?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
И я не трогаю никаких объектов чертежа, не создаю новых.
Но модифицируешь базу (Database)
Где можно почитать про блокировку документа?
Autodesk ObjectARX for AutoCAD Developer's Guide 20XX > Advanced Topics > The Multiple Document Interface > MDI Overview > Document Locking.
Если в двух словах, то если будешь модифицировать документ (базу) любым способом вне lisp-функции или модальной команды, то документ нужно блокировать как минимум на время модификации базы.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Autodesk ObjectARX for AutoCAD Developer's Guide 20XX > Advanced Topics
Честно потратил 2 часа на поиск указанной вами документации. Не могу найти. Сдаюсь. В комплекте с ObjectARX идет документация в которой только 2 раздела: Native ObjectARX (C++) Reference Guide и Managed .NET Reference Guide. Раздела Advanced Topics нет. Найти документацию онлайн на сайте Автодеск невозможно, но нашел на форуме ссылку http://help.autodesk.com/view/ACD/2017/ENU. Там только .Net.  Ничего про ARX вообще и Advanced тем более. У меня ощущение, что это секретная информация. Или может платная?

Но модифицируешь базу (Database)
Правильно я догадываюсь, что не только изменения чертежа, считаются изменением базы, но и все настройки хранимые в DWG ? Т.о. при изменениях системных переменных, например, тоже ТРЕБУЕТСЯ лочить документ, да?


Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Правильно я догадываюсь, что не только изменения чертежа, считаются изменением базы, но и все настройки хранимые в DWG ? Т.о. при изменениях системных переменных, например, тоже ТРЕБУЕТСЯ лочить документ, да?
Абсолютно правильно. Если системная переменная хранится в чертеже, то тоже нужно "лочить"
В комплекте с ObjectARX идет документация в которой только 2 раздела: Native ObjectARX (C++) Reference Guide и Managed .NET Reference Guide.
Какая-то она у тебя не полная (да разделы не так называются):




Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Какая-то она у тебя не полная
Одназначно! В ARX2017/docs лежит msi, который куда-то что-то прописывает, но найти куда - я не смог. Единственное что нашел, что в VS появился раздел справки:



Поиск по этой справке ничего не дает. Я конечно вижу на вашем фото тот раздел, который меня интересовал. Но хотелось бы все-таки докопаться. В онлайне не опубликован полный guide?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Аааааааааааааааааа! Ты не в курсе про существование chm-файлов???



Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Эх, я даже открывал пару файлов из этой папки, но перебрать ВСЕ не догадался :) Думал их инсталлятор все внедрит в VS. К тому же на моем компе отображается только дерево разделов, а самих статей нет, пустое белое окошко. Я подумал, что это просто заголовки и стал искать контент где-то в других местах. Сейчас на другой системе посмотрел - там правда есть содержание. Наверно что-то с версиями эксплорера у меня. Меню "Параметры/Свойства браузера" вообще не открывается.
Спасибо!

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
SumatraPDF прекрасно открывает эти CHM. И они и вправду не пустые! Ура! :)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
SumatraPDF прекрасно открывает эти CHM.
Вообще-то они открываются самим Windows, так как являются элементами встроенной системы помощи: https://ru.wikipedia.org/wiki/HTMLHelp
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Да я в курсе, но ДОЛЖНЫ открываться и ОТКРЫВАЮТСЯ - это не одно и то же. Я сейчас проверил на 5и компьютерах - на 2х из них открываться только оглавления, вместо содержимого - чистый белый фон. И о таких случаях полно сообщений в интернете. Я так понимаю, у этого компонента под капотом IE и это печально. А Суматра открывает без танцев с бубном. Поэтому я и написал тут о ней - чтоб другие не мучились и не искали, как я, обходные пути.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Я так понимаю, у этого компонента под капотом IE и это печально
Да. И соответственно его работа определяется Свойствами обозревателя. Плюс еще возможен вариант, когда chm-файлы помечены, как скаченные из сети и их следует разблокировать иначе как раз активное содержимое не видно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Меню "Параметры/Свойства браузера" вообще не открывается.
Компьютер домашний или в рабочей сети, когда админ мог так урезать доступ по своему разумению?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
chm-файлы помечены, как скаченные из сети и их следует разблокировать
Да, да, та же самая пакость, которая, мешает работе наших плагинов.
Но у меня не тот случай. IE запускается 2 минуты, может я сам что-то ему заблокировал на уровне рабочей сетки в файерволе или групповых политиках... Черт с ним, не буду дальше захламлять топик, а то это уже третья тема получается :)