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

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

Сообщение об ошибке в fastreport3.0 [D5]


AMS ©   (2007-01-12 12:44:00) 

При выводе отчета возникает ошибка 'Invalid floating point operation'. В отчете содержится поле memo, а в нем следущее выражение
[IIF( <SUM( IIF(<vSS2>=0, 0, 1) )> > 0,    <SUM(<vSS15> - <vSS7> - <vSS10> - <vSS11> - <vSS12> - <vSS13>)> / <SUM(  IIF(<vSS2>=0, 0, 1)  )>,    0)]
vSS2, vSS7....это некоторые числовые значения, возвращаемые процедурой getvalue.

Если условие 'true', то значение поля выводится нормально, а если 'false', т.е. <SUM( IIF(<vSS2>=0, 0, 1) )> = 0, то в этом месте и возникает ошибка, хотя должен выводится просто 0. В версии fastreport2.xx работает все нормально.

Если я изменяю выражение например так:
[IIF( <SUM( IIF(<vSS2>=0, 0, 1) )> > 0,    <SUM(<vSS15> - <vSS7> - <vSS10> - <vSS11> - <vSS12> - <vSS13>)> / <SUM(  IIF(<vSS2>=0, 1, 1)  )>,    0)]
то ошибки нет, хотя при этом выводятся естественно не верные значения. Т.е. насколько я понимаю, при значении 'false' происходят какие-то действия по ветви 'true' и из-за этого и возникает ошибка.


AMS   (2007-01-17 17:03:00) [1]

Всем спасибо, обошел это место при помощи скриптов


AMS   (2007-01-16 17:18:00) [2]

up


AMS   (2007-01-15 17:01:00) [3]

=Lex=,  в этом месте и ищу))) если это выражение равно 0 (самое первое IIF), то по этой ветви условия никаких действий прозводится вроде как не должно. А скобки ставить пробовал в разных комбинациях - ничего не дает. А если все же появляется 0, то возникает соответствующая ошибка


=Lex=   (2007-01-15 13:37:00) [4]

[IIF( <SUM( IIF(<vSS2>=0, 0, 1) )> > 0,    <SUM(<vSS15> - <vSS7> - <vSS10> - <vSS11> - <vSS12> - <vSS13>)> / ( <SUM(  IIF<vSS2>=0, 0, 1)  )>,    0)]

если SUM( IIF<vSS2>=0, 0, 1) ) = 0 тогда получается деление на 0
попробуй поискать в этом месте


AMS   (2007-01-12 16:21:00) [5]

http://ns.fast-report.com/ru/support/ticket_list.php- таже фигня((((


Рамиль   (2007-01-12 15:49:00) [6]

http://ns.fast-report.com/ru/support/ticket_list.php


AMS   (2007-01-12 14:12:00) [7]

Блин, на http://fast-report.com/ru/forum/не регистрируют((((((

Народ, может все же поможет кто-нибудь с ошибкой разобраться или еще какие-нибудь ссылочки даст


AMS   (2007-01-12 13:33:00) [8]

спасибо


unknown   (2007-01-12 13:04:00) [9]

С этим надо сюда http://fast-report.com/ru/forum/


Наверх

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