Как отключить регенерацию вида

Автор Тема: Как отключить регенерацию вида  (Прочитано 20020 раз)

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

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как отключить регенерацию вида
« Ответ #15 : 26-12-2014, 14:42:19 »
Я хотел сказать, что когда никаких команд не выполняется.
Нет никакой связи между acedIsUpdateDisplayPaused и выполняются или не выполняются команды.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как отключить регенерацию вида
« Ответ #16 : 26-12-2014, 14:51:07 »
Так. Проверил в AutoCAD 2012 в чистом ObjectARX:
Код - C++ [Выбрать]
  1.   static void ArxProject1MyCommand1(void)
  2.   {
  3.     acutPrintf(_T("\nacedIsUpdateDisplayPaused = %s"),acedIsUpdateDisplayPaused()? _T("Да") : _T("Нет"));
  4.   }
  5.  
Возвращает "Нет". Похоже какая-то проблема с P/Invoke.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как отключить регенерацию вида
« Ответ #17 : 26-12-2014, 15:10:31 »
Проблему похоже идентифицировал. Вместо UnmanagedType.Bool нужно использовать UnmanagedType.I1. Интересно почему это работало в AutoCAD 2014. ;) Код исправил и проверил в AutoCAD 2012 и 2014 x64.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн T72

  • ADN Club
  • Сообщений: 23
  • Карма: 4
Re: Как отключить регенерацию вида
« Ответ #18 : 26-12-2014, 15:15:24 »
    Я хотел сказать, что когда никаких команд не выполняется.

Нет никакой связи между acedIsUpdateDisplayPaused и выполняются или не выполняются команды.
Буду иметь ввиду, просто я дилетант в данных вопросах и не всегда могу верно выразить свои мысли в данной предметной области.

Оффлайн T72

  • ADN Club
  • Сообщений: 23
  • Карма: 4
Re: Как отключить регенерацию вида
« Ответ #19 : 26-12-2014, 15:17:32 »
Проблему похоже идентифицировал. Вместо UnmanagedType.Bool нужно использовать UnmanagedType.I1. Интересно почему это работало в AutoCAD 2014. ;) Код исправил и проверил в AutoCAD 2012 и 2014 x64.
Подтверждаю, у меня все сработало.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как отключить регенерацию вида
« Ответ #20 : 26-12-2014, 15:20:07 »
Подтверждаю, у меня все сработало.
Итого ты:
1) Нашел ошибку с 12/18
2) Вывел на ошибку с  UnmanagedType
Так что двойное спасибо! :)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение