Вниз
Скачать: 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.014 c
3-1181297910
tsoftware
2007-06-08 14:18
2007.10.14
Теряется фокус у DBGrid


2-1190276518
труляля
2007-09-20 12:21
2007.10.14
отправка email


1-1185876024
Solo
2007-07-31 14:00
2007.10.14
А где модуль ShareMem в Delphi 2006?


2-1190187546
Dmitriy_
2007-09-19 11:39
2007.10.14
Узнать разницу между двумя моментами (дата,время)


4-1176372836
KrayM
2007-04-12 14:13
2007.10.14
Свой сервс




   Наверх