Главная страница
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.029 c
14-1129839644
vagra
2005-10-21 00:20
2005.11.13
Офигеть!


1-1129742445
555
2005-10-19 21:20
2005.11.13
Перехват прокручивания скролла мыши.


1-1130081331
TStas
2005-10-23 19:28
2005.11.13
Интерфейсные объекты


3-1127972501
Слава-АБС
2005-09-29 09:41
2005.11.13
Некорректное заполнение поля даты в DBF, как обойти?


3-1128080674
SERGEY-ZZZ
2005-09-30 15:44
2005.11.13
Базы данных через интернет