Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Invalid floating point operation [D7]


kostyas ©   (2007-09-14 11:49:00) 

Почему происходит эта ошибка, у меня в проекте возникает такая ошибка, сделал приблизительный код, если присваивать lw1 нулевое значение, то возникает эта ошибка, любое другое число спокойно записывается, а что с этим?

TMyData = record
 lw1: LongWord;
 db1:Double;
 db2: Double;
end;

procedure test1(var MyData: TMyData);
begin
 MyData.db1 := 0;
 MyData.db2 := 0;
 MyData.lw1 := 0;
end;


DrPass   (2007-09-14 16:03:00) [1]


> Но почему эта ошибка означает ошибку деления на нуль?

Эта ошибка означает ошибку, произошедшую в математическом сопроцессоре. Деление вещественных чисел выполняется сопроцессором


ЮЮ   (2007-09-14 12:20:00) [2]

> Деление было приблизительно так:
>
> db1 := db2 / lw1;


Что не наблюдаю такой строчки в коде procedure test1(var MyData: TMyData);

отладчик для чего дан? чтобы 20 минут искать db1 := db2 / lw1;?

>Но почему эта ошибка означает ошибку деления на нуль?
Потому, что искать ошибку надо там, где она вызывает исключение, а не где светлее.


kostyas   (2007-09-14 12:03:00) [3]

Так, похоже нашел ошибку. Проблема была при делении на 0. Но почему эта ошибка означает ошибку деления на нуль?

Деление было приблизительно так:

db1 := db2 / lw1;


kostyas   (2007-09-14 11:58:00) [4]

Ошибка появилась даже так:

TMyData = record
lw1: LongWord;
db1:Double;
db2: Double;
end;

procedure test1(var MyData: TMyData);
begin
MyData.db1 := 0;
MyData.db2 := 0;
end;

var
MyDta: TMyData;
begin
 MyDta.lw1 := 0;
 test1(MyDta);


kostyas   (2007-09-14 11:54:00) [5]

Обычный вызов.

var
 MyDta: TMyData;
begin
test1(MyDta);


ЮЮ   (2007-09-14 11:52:00) [6]

а вызов? Что переданщь в качестве фактического параметрв?


Наверх

Титульная страница Поиск, карта сайта Написать письмо