![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
EInvalidOp [D5, WinME]
Sour © (2002-12-01 21:19:00)Господа,
что за ошибка такая EinvalidOp.
Не понимаю почему происходит исключительная ситуация Invalid floating point operation, когда реализуются простые
вычисления над числами с плавающей точкой.
Например:
Есть функция
function F(x: double): double;
begin
Result := 2 * (x - 5);
end;
Функция последовательно вызывается несколько раз, и в некоторый момент происходит описанная ситуация. Хотя при наведении
курсора мыши на выражение 2 * (x - 5) в Hint-е показывается корректгное число.
Помогите....
Anatoly Podgoretsky (2002-12-01 23:03:00) [1]Для начала убедиться, что стоят должные апдейты, такое наблюдалось, но после установки апдейтов исчезло. Не гарантирую, что тебе поможет.
Sour (2002-12-01 22:52:00) [2]Функция описана там же откуда вызывается.
>>Anatoly Podgoretsky
И что посоветуете делать???
Anatoly Podgoretsky (2002-12-01 22:22:00) [3]Это проблемы отладчика
Юрий Зотов (2002-12-01 22:13:00) [4]1. Чему равно X при вызове?
2. Если функция в DLL, согласованы ли конвенции вызова?
Sour (2002-12-01 21:41:00) [5]Да, кстати при запуске exe-шника никаких ошибок. Да и если компилировать без точек останова, все нормально, а как только установишь breakpoint так после n-ого вызова функции EinvaliOp.
Вызов следующий:
fTmp := F(x);,
где fTmp и x переменный типа Double
Anatoly P (2002-12-01 21:36:00) [6]Может дело в вызове?
Sour (2002-12-01 21:33:00) [7]Может есть какие-либо соображения.....