В общем тут, программирую как обычно, делаю таблицу для косинусов... Надо вычислить выражение 1/(17*18), вставляю через буфер обмена в кальк, нажимаю равно, нажимаю [F-E], эта кнопка переключает на экспоненциальный вид, и тут выскакивает ошибка, работа калка аварийно завершается. Результат: 0,00326797385620915032679738562092 Если нажать эту кнопку то авария, в других случаях всё нормально. Что это такое вообще? Причём есть скопировать это число, и нажать [F-E] то ошибки не наблюдается. Баг вылезает именно после такой операции, т.е. вычисление выражения, далее нажимает эту кнопку и ошибка. Я так понял переполнения буфера в стеке.
alex_dz, кнопка такая на форме. --- Сообщение объединено, 4 апр 2025 в 17:24 --- Естественно калькулятор в инженерном режиме. Вероятно в 10-ке такого бага нет, но это надо проверить.
Вероятно баг связан с самим числом. 3,26797385620915032679738562092e-3 2,6315789473684210526315789473684e-3 Как видно само проблемное число в виде строки, короче на два символа, вот где-то тут и происходит ошибка. Непонятно как это происходит, надо реверсить, но мне что-то не очень охота этим заниматься. Да и исходники бы раздобыть, именно этой версии калька. Новая версия калька для 10-ки лежит на гитхабе, а вот, есть ли старая версия, не понятно.
Исключение в нтдлл происходит, так что неплохо было бы и ее исходники. А кому-то наверное очень охота.
Кстати, ошибка происходит если и вводить и через буфер обмена, так и просто вручную вводит это выражение. Кстати, ктонить проверил на кальке из 10 и 11? Переключаем в инженерный режим, вводит: 1/(17*18) = , и в углу есть кнопка [F-E], нажимаем её. Если кальк не отвалился, значит всё в порядке. Должно появиться: 3,26797385620915032679738562092e-3 У меня на этой оси просто завершается, и всё. А на работе винда выдаёт сообщение и запускает отладчик студии.
Research, значит не то сделал, должно появиться именно в экспоненциальном виде, хотя бы округлённом. Если просто так подсчитать, то ничего не падает, баг возникает именно если вычислить это выражение, и перевести в эксп. форму. При этом, длинна строки числа, меньше на два символа чем обычно, что очень странно, строка то меньше буфера, что пошло не так. ЗЫ А вообще, давно мечтаю свой калькулятор сделать, именно на замену калькуляторов Win-95 .. Win-12. Да, предполагаю поддержку всех ОСей винды. Но когда руки дойдут не понятно.
Intro, имею в виду 3,26.. в экспотенциалтной форме, не стал все цифры писать. В 10 в кальк. свистелок-перделок напихали, например вывод графиков, раньше вроде не было, наверно параллельно и профиксили этот баг. --- Сообщение объединено, 4 апр 2025 в 20:32 --- В прошлом году пытался крестики-нолики сделать, заранее прописывая всех правил. Там есть непобедимая стратегия, как надо правильно ходить. Думал потом с нейронкой что-то придумаю как её научить. В итоге то ли задача оказалось сложнее чем я предполагал, толи я не такой хороший пограмист как себе кажусь. Хз как нейронку прикрутить к этой игре..) Может можно потом и шашки на ней сделать
Да, в 10-ке такого бага нет, нормально считает, и переводит экспоненциальную форму, вспомнил что у бати 10-ка на ноуте. Баг только в калькуляторе 7-ки. Хотя может и ХР тоже, для этого надо свою старую шарманку сейчас запустить.
schuler, да, сейчас шарманка долго выходила из коматоза(долго не включал). Проверил, ничего не падает, хоть набирай кнопками, хоть вставляй выражение из буфера обмена. Значит бат только в 7-ке, вряд ли есть в висте и 8-ке.
Windows 7 x32 с последующим вручную накатом SP1 - ошибка есть. Но где и какая не смотрел. Просто закрывается кальк. Windows 7 x64 Pro с уже имеющимся на борту SP1 до установки. Все тоже самое. Кальк закрывается. И это все на VirtualBox после вычисления 1/(17*18).