GetInteger не принимает цифры более 32768

Автор Тема: GetInteger не принимает цифры более 32768  (Прочитано 4856 раз)

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

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

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Метод Editor.GetInteger() выдает ошибку "Requires an integer between -32768 and 32767." при попытке ввода больших чисел. При этом лимиты настроены по умолчанию на +/-2147483647 и дефолт 100000. Как разрешить этому методу работу с Int32 вместо Int16 ?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: GetInteger не принимает цифры более 32768
« Ответ #1 : 05-04-2018, 17:19:13 »
Метод Editor.GetInteger() выдает ошибку "Requires an integer between -32768 and 32767." при попытке ввода больших чисел. При этом лимиты настроены по умолчанию на +/-2147483647 и дефолт 100000. Как разрешить этому методу работу с Int32 вместо Int16 ?
Лимиты никакого отношения к этому не имеют. Это "by design" с времён DOS. Если нужно вводить числа выходящие за пределы [-2**15, 2**15] то только ввод плавающих через GetDouble()
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: GetInteger не принимает цифры более 32768
« Ответ #2 : 05-04-2018, 17:21:38 »
Еще вариант - сделать небольшое окошко для запроса числа и в нем уже настраивать все как хотите. Можете даже BigInteger использовать

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

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Re: GetInteger не принимает цифры более 32768
« Ответ #3 : 05-04-2018, 17:26:36 »
Это "by design" с времён DOS
Понятно. Я догадывался, но обертка и дефолты в .Net сбивают с толку - везде почему-то int, а не Int16.
сделать небольшое окошко
ну это-то само собой...