Вниз
Скачать: CL | DM;

Invalid floating point operation   Найти похожие ветки 

 
kostyas   (2007-09-14 11:49) [0]

Почему происходит эта ошибка, у меня в проекте возникает такая ошибка, сделал приблизительный код, если присваивать 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;


 
ЮЮ ©   (2007-09-14 11:52) [1]

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


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

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

var
 MyDta: TMyData;
begin
test1(MyDta);


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

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

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 12:03) [4]

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

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

db1 := db2 / lw1;


 
ЮЮ ©   (2007-09-14 12:20) [5]

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


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

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

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


 
DrPass ©   (2007-09-14 16:03) [6]


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

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



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
15-1189862185
Wfee
2007-09-15 17:16
2007.10.14
Как вычислить длину N!


6-1171376436
X-Nex
2007-02-13 17:20
2007.10.14
WebBrowser конец загрузки страницы


2-1189666338
muhsin2281
2007-09-13 10:52
2007.10.14
rtl70.bpl vcl70.bpl не найден


2-1189763330
artem779
2007-09-14 13:48
2007.10.14
как изменить имя проекта ?


4-1176208381
Mabia
2007-04-10 16:33
2007.10.14
Создание exe файла




   Наверх