Миграция ObjectARX2013->ObjectARX2015

Автор Тема: Миграция ObjectARX2013->ObjectARX2015  (Прочитано 3255 раз)

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

Оффлайн Дмитрий ГилинАвтор темы

  • ADN Club
  • Сообщений: 15
  • Карма: 0
Миграция ObjectARX2013->ObjectARX2015
« : 29-12-2016, 14:43:17 »
Добрый день, коллеги.

Есть компонент, написанный на C++ & ObjectARX2013.
Требуется адаптировать его к ObjectARX2015 (а затем к ObjectARX2017).
В коде используется тип 'ulong'.
Этот тип определен в ObjectARX2013\inc\adesk.h:

Код - C++ [Выбрать]
  1. #ifdef __LP64__
  2.     typedef UInt32         ulong;
  3. #else
  4.     typedef unsigned long  ulong;
  5. #endif
  6.  

В ObjectARX2015\inc\adesk.h этот тип не определен.
Просмотрел документацию ObjectARX2015, в разделе изменений ничего по этому поводу не нашел.
Как быть?
« Последнее редактирование: 29-12-2016, 14:44:04 от Александр Ривилис »

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Миграция ObjectARX2013->ObjectARX2015
« Ответ #1 : 29-12-2016, 14:54:59 »
1. Не забывай про правильное форматирование кода на форуме (у меня в подписи).
2. Пойдём сначала формальным путём:
Проанализируем adesk.h в ObjectARX 2013:

Код - C++ [Выбрать]
  1. #ifdef __LP64__
  2.     typedef unsigned int   UInt32;
  3.     typedef int            Int32;
  4. #else
  5.     typedef unsigned long  UInt32;
  6.     typedef long           Int32;
  7. #endif //__LP64__
  8.  
  9. #ifdef __LP64__
  10.     typedef UInt32         ulong;
  11. #else
  12.     typedef unsigned long  ulong;
  13. #endif //__LP64__
Я пропустил в коде незначимое и комментарии. Вывод ulong и UInt32 - одно и тоже. В ObjectARX 2015 и 2017 есть тип UInt32, так что можешь им пользоваться смело вместо ulong. Или напиши что-то типа:
Код - C++ [Выбрать]
  1. typedef UInt32         ulong;
С другой стороны возможно следует выяснить контекст и понять должен ли он быть 32-битным и тогда UInt32 или 64-битным и тогда UInt64.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий ГилинАвтор темы

  • ADN Club
  • Сообщений: 15
  • Карма: 0
Re: Миграция ObjectARX2013->ObjectARX2015
« Ответ #2 : 29-12-2016, 15:13:29 »
Александр, спасибо за скорость!
Попробую UInt32.