Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.13;
Скачать: CL | DM;

Вниз

Помогите с Invalid floating point operation!!   Найти похожие ветки 

 
Smarty   (2005-10-23 14:59) [0]

Народ!
Подскажите плиз что я делаю не так?
имеем переменные:
MaxRowId:integer;
r:double;
При попытке выполнить: r:=MaxRowId/2 выскакивает ошибка "Invalid floating point operation". Что я делаю не так?
причем если перед этим вычислением постваить ShowMessage(MaxRowId) все работает.


 
Loginov Dmitry ©   (2005-10-23 17:04) [1]

Ведь ясно же написано: "Invalid floating point operation". Сделай соответствующие выводы.


 
Юрий Зотов ©   (2005-10-23 17:30) [2]


procedure TForm1.FormCreate(Sender: TObject);
var
  MaxRowId: integer;
  R: double;
begin
  MaxRowId := Handle;
  R := MaxRowId / 2;
  ShowMessage(FloatToStr(R))
end;

И все работает. Значит, ответ на вопрос "Что я делаю не так?" нужно искать в другом месте кода.


 
Smarty   (2005-10-23 18:14) [3]

:) я тоже был учень удивлен такому повороту событий, однако в MaxRowId всегда находилось нормальное ненулевое значение, да и к простому делению на 2 особо не придерешься. Может Delphi глюканул? В любом случае всем спасибо! А я обошелся без этого деления :)


 
han_malign ©   (2005-10-24 12:11) [4]

Были такие приколы, WinAPI в некоторых местах(чаще в вызовах kernel32) изменяет флаги сопроцессора - Delphi где может это фиксит(SafeLoadLibrary например), но в основном полагается на эксклюзивное владение сопроцессором(и глобально неизменное состояние), что иногда приводит к некоректной работе System._FSafeDivide.
Спасает asm FINIT end; перед делением...

З.Ы. Глюк идет еще со времен BP7.0/D1 под DPMI.


 
han_malign ©   (2005-10-24 12:13) [5]

З.З.Ы. Причем глюк всегда именно при делении целых с приведением к плаващей точке...


 
umbra ©   (2005-10-24 12:16) [6]


> Invalid floating point operation

А у меня такое часто случалось на D7, когда с датами работал и брейкпойнты в процедурах обработки дат ставил. Ставишь точку прерывания - получаешь исключение, убираешь - все работате как часы.



Страницы: 1 вся ветка

Текущий архив: 2005.11.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
11-1110838556
VNavigator
2005-03-15 01:15
2005.11.13
Drag n Drop


14-1129805568
ZeroDivide
2005-10-20 14:52
2005.11.13
Новые драйверы для ATI, рядовое событие, если бы не одно НО


14-1130085395
Profi
2005-10-23 20:36
2005.11.13
Посоветуйте / подкиньте идеи.


4-1126266970
Nick Denry
2005-09-09 15:56
2005.11.13
Ownerdraw Button Control и region ы


2-1130077522
Vir
2005-10-23 18:25
2005.11.13
MS Excel