Главная страница
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.073 c
2-1130156929
Alex7
2005-10-24 16:28
2005.11.13
Изменение свойств фрейма


2-1130168799
Profi
2005-10-24 19:46
2005.11.13
Зависание функции из модуля.


2-1129612756
Set2000
2005-10-18 09:19
2005.11.13
Вопрос по ComboBox


14-1129810870
wHammer
2005-10-20 16:21
2005.11.13
Как перевести исходники с версии 6 на версию 5


14-1130212702
pazitron_brain
2005-10-25 07:58
2005.11.13
Помогите!