1 / 1 / 0
Регистрация: 15.06.2014
Сообщений: 96
|
||||||
1 | ||||||
Отключить NAN22.09.2017, 04:27. Показов 1935. Ответов 5
Метки нет (Все метки)
При переносе своего кода из Delphi 2010 в Delphi 10.1 Update 2 столкнулся с проблемой.
Алгоритм построен по принципу вложенной обработки исключений при решении кубического уравнения A * X3 + B * X2 + C * X + D = 0 Используется конструкция вида
0
|
22.09.2017, 04:27 | |
Ответы с готовыми решениями:
5
NaN при обращении к функции NAN при выполнении SSE инструкций Ошибка -nan(ind) и nan Как вернуть NaN и Infinity, проверить на NaN и Infinity? |
1 / 1 / 0
Регистрация: 15.06.2014
Сообщений: 96
|
|
25.09.2017, 06:46 [ТС] | 3 |
Пример тут ничего не даст. Вопрос состоит в следующем:
В старых версиях Delphi при возникновении деления 0.0/0.0 возникало исключение EInvalidOp, а в версии 10.1 вместо этого результату присваивается NAN. Есть ли опция компилятора, с помощью которой можно вернуть старое поведение, т.е. возникновение EInvalidOp?
0
|
25.09.2017, 07:16 | 4 |
0
|
1 / 1 / 0
Регистрация: 15.06.2014
Сообщений: 96
|
||||||
02.11.2017, 06:46 [ТС] | 5 | |||||
В моем случае не сработало. Но там есть еще один метод -- SetExceptions. Так вот с ним парадоксальная ситуация.
Для проверки создаю новое приложение с единственной формой, в обработчике onCreate которой пишу
Так вот, для приложения MDA все срабатывает нормально и данные ключи устанавливаются без проблем. А вот в случае приложения VCL вместо установленных ключей вижу строку "Floating point invalid operation at 0040730C". Так происходит только у меня?
0
|
02.11.2017, 12:57 | 6 |
SetExceptionMask, а не SetException
0
|
02.11.2017, 12:57 | |
02.11.2017, 12:57 | |
Помогаю со студенческими работами здесь
6
Как реализована Double.NaN != Double.NaN Как отключить брандмауэр или отключить фаервол Безопасно ли слоту отключить отключить себя же? nan Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |