Почему метод ObjectOverrule.Close() вызывается постоянно?

Автор Тема: Почему метод ObjectOverrule.Close() вызывается постоянно?  (Прочитано 12082 раз)

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

Оффлайн Александр Пекшев aka ModisАвтор темы

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Сейчас придет Александр Ривилис и даст нам по голове, за такой оффтоп
Тогда уйдем в ту тему ;)
Постараюсь сегодня новый комментарий написать, рассказав немного чего я добился за последние две недели, переделав практически ВСЕ =))

Оффлайн Александр Пекшев aka ModisАвтор темы

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Кроме того я проверил бы еще и ObjectId на null и в этом случае возвращал сразу false
Вот это, кстати, не стоит делать. Конечно, идея правильная в том ключе, что мы обсуждаем только лишь ObjectOverrule. Но у меня метод IsApplicable работает со всеми overrule и в GripOverrule это вызывает отрицательный эффект. Дело в том, что при работе метода MoveGripPointsAt автокад создает копию блока, которую мы и видим на экране в момент изменения. И вот у этой копии ObjectId.Null как-раз.
Как вариант, просто в параметр метода IsApplicable можно добавить bool checkForNullId = false и в ObjectOverrule уже ставить этот параметр в true

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Но у меня метод IsApplicable работает со всеми overrule и в GripOverrule это вызывает отрицательный эффект.
И кто тебе виноват? ;)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение