Содержание
- Ошибка делфи project Project1.exe raised exception class EZeroDivide with message ‘Floating point division by zero’.
- Экспертная система Delphi.int.ru
- Сообщество программистов Общение, помощь, обмен опытом
- Delphi.int.ru Expert
- Другие разделы портала
- Переход к вопросу:
- Статистика за сегодня:
- Лучшие эксперты
- Вопрос # 5 783
- Мини-форум вопроса
- Научный форум dxdy
- Решения ряда. При больших порядках программа выдает ошибку
- Кто сейчас на конференции
Ошибка делфи project Project1.exe raised exception class EZeroDivide with message ‘Floating point division by zero’.
Помогите исправить
unit Unit1;
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ActnList, StdCtrls ;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Image1: TImage;
Start: TButton;
Stop: TButton;
Button3: TButton;
ActionList1: TActionList;
Timer1: TTimer;
procedure Button3Click(Sender: TObject);
procedure StartExecute(Sender: TObject);
procedure StartUpdate(Sender: TObject);
procedure StopExecute(Sender: TObject);
procedure StopUpdate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
< Private declarations >
u,l,g,t,a:real;
dt0:dword;
public
< Public declarations >
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
groupbox1.Height:=195
end;
procedure TForm1.StartExecute(Sender: TObject);
begin
u:=strtofloat(edit1.text);
l:=strtofloat(edit2.text);
g:=strtofloat(edit3.text);
a:=l*sin(u*pi/180);
t:=2*pi*sqrt(l/g);
edit4.text:=format(‘%f’,[t]);
dt0:=gettickcount;
timer1.enabled:=true;
end;
procedure TForm1.StartUpdate(Sender: TObject);
begin
taction(sender).enabled:=not timer1.enabled;
end;
procedure TForm1.StopExecute(Sender: TObject);
begin
timer1.enabled:=false;
end;
procedure TForm1.StopUpdate(Sender: TObject);
begin
taction(sender).Enabled:=timer1.enabled;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
const pr:integer=7;
var
dt,x,y,k:extended;
px,py,cx,cy:integer;
begin
k:=trunc(image1.height*0.9);
cx:=image1.width div 2;
cy:=20;
px:=trunc(x*k/l)+cx;
py:=trunc(y*k/l)+cy;
Источник
Экспертная система Delphi.int.ru
Сообщество программистов
Общение, помощь, обмен опытом
Delphi.int.ru Expert
Другие разделы портала
Переход к вопросу:
Статистика за сегодня:
Онлайн на сайте: 12 ( 3404)
Онлайн в IRC: 2 ( 17)
Последние новости:
30 апреля 2012
Последний вопрос:
9 августа 2022, 09:39
Последний ответ:
29 марта 2018, 23:32
Лучшие эксперты
Вопрос # 5 783
почему если сделать
не показывается никакой ошибки типа ‘division by zero’?
и в таком варианте тоже:
var
i:real;
begin
ErrorProc :=nil;
ExceptProc :=nil;
ExceptionClass :=nil;
ExceptClsProc :=nil;
ExceptObjProc :=nil;
AssertErrorProc:=nil;
i:=1/0;
end;
нужно, чтобы любые ошибки были видны.
Вопрос задал: Фамилия Имя Отчество (статус: Посетитель) Ответ #1. Отвечает эксперт: Толяныч Здравствуйте, Фамилия Имя Отчество! Вот цитата из хелпа по запросу «Infinity constant». Чтоб получить ожидаемую реакцию, нужно : Странноватый выбор идентификатора i для real. Но это так, к слову. Ответ отправил: Толяныч (статус: 4-ый класс) Комментарий к оценке: ничего не изменилось, всё равно никакой ошибка не показывает. procedure TForm1.Button1Click(Sender: TObject); Ответ #2. Отвечает эксперт: Егор Здравствуйте, Фамилия Имя Отчество! 1) Программа откомпилируется и будет работать. Выражение 1/0 будет вычислено компилятором (об этом ниже), но затем, на фазе оптимизации, т.к. переменная z не используется, то компилятор выкинет любые упоминания этой переменной. Ошибка не возникнет. 2) Программа откомпилируется и будет работать. Выдаваться будет INF, т.к. для дробных чисел предусмотрено специальное значение — бесконечность (INF). Значение это будет вычислено компилятором до запуска программы, а в текст будет подставлено именно значение INF, а не выражение 1/0. 3) Здесь произойдёт ошибка времени выполнения. Во время работы программы будет выдано сообщение «Floating point division by zero». 4) Т.к. числа целые (integer), то использовать операцию деления (/) нельзя. Вместо неё используется операция целочисленного деления (div). 5) Этот вариант не скомпилируется вообще, т.к. здесь идёт попытка заставить компилятор разделить нацело целое число на ноль. 5) Несмотря на то, что переменная с не используется, этот вариант также не скомпилируется. Причина — у нас есть выражение (1 div 0), которое надо вычислить. Вычисление будет выполнено до фазы оптимизации, поэтому процесс компиляции не будет успешным. P.S. Все варианты проверялись в Delphi7. Ответ отправил: Егор (статус: 10-ый класс) Мини-форум вопросаmin@y™ (статус: Доктор наук), 27 ноября 2011, 09:10 [#1] : Цитата (Фамилия Имя Отчество): Фамилия Имя Отчество (статус: Посетитель), 28 ноября 2011, 13:58 [#2] : >>Может компайлер просто выкинул эту операцию, т.к. переменная i больше не используется? тоже не работает |
Вадим К (статус: Академик), 28 ноября 2011, 14:48 [#3] :
это оптимизации.
Попробуйте написать так
Толяныч (статус: 4-ый класс), 29 ноября 2011, 00:37 [#4] :
Все работает — и в среде под отладчиком, и автономно. Может, у Вас не Delphi ?
Фамилия Имя Отчество (статус: Посетитель), 29 ноября 2011, 00:51 [#5] :
Вариант, подсказанный Вадимом работает!
Спасибо.
9 декабря 2011, 14:42: Статус вопроса изменён на решённый (изменил автор вопроса — Фамилия Имя Отчество): Ура! Мне дали награду за лучший вопрос месяца! Надо отметить!
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
Источник
Научный форум dxdy
Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки
Вход Регистрация | Donate FAQ Правила Поиск |
Решения ряда. При больших порядках программа выдает ошибку
Последний раз редактировалось Toucan 27.09.2010, 14:48, всего редактировалось 1 раз. |
Вставил тег syntax |
Задание заключается в следующем: нужно вычислить значение функционального ряда до N-го порядка малости.
Ряд задан формулой:
Сразу задался вопросом, какой будет общий член у этого ряда. Свёл к следующему:
Теперь нужно было реализовать программу, вот она:
uses
Windows , Messages , SysUtils , Variants , Classes , Graphics , Controls , Forms ,
Dialogs , StdCtrls , Math;
type
TForm1 = class ( TForm )
Edit1 : TEdit;
Button1 : TButton;
Label1 : TLabel;
Label2 : TLabel;
Edit2 : TEdit;
Label3 : TLabel;
Label4 : TLabel;
Button2 : TButton;
procedure Button1Click ( Sender : TObject ) ;
private
< Private declarations >
public
< Public declarations >
end ;
var
Form1 : TForm1;
<$R *.dfm>
function proizv ( n : integer ) : integer ;
begin
if n> 0 then
proizv := sqr ( 2 * n — 1 ) * proizv ( n — 1 )
else
proizv := 1 ;
end ;
function factorial ( p : integer ) : integer ;
begin
if p> 1 then
factorial := p * factorial ( p — 1 )
else
factorial := 1 ;
end ;
procedure TForm1. Button1Click ( Sender : TObject ) ;
var summ , x : real ; n , i , p : integer ;
begin
x := strtofloat ( edit1. Text ) ;
n := strtoint ( edit2. Text ) ;
i := 1 ;
summ := 0 ;
repeat
p := 2 * i — 1 ;
summ := summ + ( proizv ( i — 1 ) / factorial ( p ) ) * power ( x , p ) ;
i := i + 1 ;
until ( i>n ) ;
label1. caption := floattostrf ( summ , fffixed , 6 , 3 ) ;
А теперь о проблеме.. Программа считает только малые порядки, у меня на n=15 программа ещё работает нормально, но при n=20 вылазиет ошибка:
arseniiv | ||
Как там ясно написано, вы делите на ноль. P. S. Объявление function factorial(. ) ужасно. Переделайте по-нормальному. — Пн сен 27, 2010 01:02:06 — P. P. S. Остальной код не смотрел. |
||
Elarium | ||
Как там ясно написано, вы делите на ноль. P. S. Объявление function factorial(. ) ужасно. Переделайте по-нормальному. — Пн сен 27, 2010 01:02:06 — P. P. S. Остальной код не смотрел. Ну я попробую, но страно то, что для N y_nikolaenko |
||
|
||
venco | ||
|
||
y_nikolaenko | ||
Надо начать с изменения алгоритма: так ряды не суммируют. |
||
Elarium | |
Надо начать с изменения алгоритма: так ряды не суммируют. |
|
ewert | ||
Так и есть. Тип integer (в дельфях) — четырёхбайтовый, и как раз Но главная проблема, конечно, в нелепости алгоритма. Во-первых, как уже было сказано y_nikolaenko , степенные ряды надо суммировать так: (и, кстати, исходный вид разложения арксинуса гораздо приятнее для программирования, чем выражение с факториалами). А во-вторых, нормальные люди не смешивают вычислительные и интерфейсные фрагменты в одну кучу. Какой ещё Button-то. При чём тут вообще Button. Выделите вычислительную часть в отдельную процедуру — и ссылайтесь на неё по мере необходимости. Ну и, конечно, выводить текст программы без отступов — неприлично. Пользуйтесь тегом [ code]. |
||
arseniiv | ||
|
||
Евгений Машеров | ||
|
||
Toucan | ||
Если их изначально не было, то, конечно, не появятся. А если были, то теги [code] или [syntax] их покажут (в отличие от [quote] или простого текста). (Вставил syntax в исходное сообщение). |
||
ewert | ||
Нет, на 12-ти всё ещё верно, бред — с 13-ти. Вполне пригодно, если использовать, как уже было предложено, вещественные типы (там ограничения на порядок довольно слабые). Просто нерационально по времени. Наверное, медленно, но вовсе не крайне. В конце концов, вызов функции — всего лишь две команды типа перехода, пусть и дальнего. Плюс загон операнда в стек, но это вообще тьфу. |
||
Евгений Машеров | ||
|
||
ewert | ||
Нет, не невозможен, конечно. Но что неразумен — то точно. В типичных ситуациях, и при разумных подходах к способу аппроксимации — количество членов имеет примерно тот же порядок, что и количество получаемых при этом значащих цифр. Конкретно для арксинуса, в качестве примера. Если аргумент не превышает половинки, скажем, то шибко много членов и не понадобится. Но если он, наоборот, приближается к единичке — то использование конкретно этого ряда становится явно неадекватным. Ну и кто ж виноват, коли приспичивает его использование в неподходящей ситуации. |
||
Евгений Машеров | ||
|
||
Страница 1 из 1 | [ Сообщений: 15 ] |
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей
Источник
← →
Kudatsky
(2002-07-22 10:13)
[0]
Delphi 5 не реагирует на ошибки с плавающей точкой.
Например:
procedure TForm2.Button1Click(Sender: TObject);
Var
A,B,C:Double;
begin
Try
A:=0;
B:=1;
C:=B/A;
Caption:=FloatToStr(C);
Except
Caption:=»Ошибка»;
end;
end;
В этом примере управление не попадает в Except, а в
Caption выводится «INF».
Похоже, что-то с отладчиком ?
← →
IlyaA
(2002-07-22 10:25)
[1]
Посмотри в доке параметры компиляции. Там есть параметр. Ругаться или нет.
← →
IlyaA
(2002-07-22 10:26)
[2]
А с отладчиком всё в порядке. Ошибка в коде (
ГЕНЕТИЧЕСКОМ).
ИЗВИНИ. Злая шутка вырвалась наружу
← →
VICTOR_
(2002-07-22 10:31)
[3]
Прверил, у меня Except обрабатывается. Попробуй поставить break-point на B:=1; и сделать трассировку(F7)
← →
kudatsky
(2002-07-22 10:37)
[4]
За шутку извиню. Но только если подскажешь, какой папаметр.
Иначе буду являться по ночам угрызениями совести ;-)))
← →
kudatsky
(2002-07-22 10:45)
[5]
Кое-что нашёл.
Если снять флажок «Integration debugging»,
Except обрабатывается.
Но в варианте
A:=0;
B:=1;
C:=B/A;
Caption:=FloatToStr(C);
появляется сообщение «Floating point division by zero», а
остановки на строке с ошибкой не происходит
← →
Skier
(2002-07-22 11:30)
[6]
>kudatsky
Debbuger Options|Language Exceptions|Stop on Delphi Exceptions ?
← →
kudatsky
(2002-07-22 11:44)
[7]
Опция
Debbuger Options|Language Exceptions|Stop on Delphi Exceptions
включена
← →
Skier
(2002-07-22 11:50)
[8]
>kudatsky
Debbuger Options|General|Integrated debugging := True
← →
kudatsky
(2002-07-22 11:56)
[9]
Опция Integrated debugging включена.
← →
Skier
(2002-07-22 11:57)
[10]
>kudatsky
И что ? На C:=B/A; не останавливается ?
← →
kudatsky
(2002-07-22 12:02)
[11]
Не останавливается.
В Caption выводится «INF»
Может что на страницах OS Exception или Language Exception ?
← →
Skier
(2002-07-22 12:08)
[12]
>kudatsky
У тебя в списке Exceptions на странице OS Exception есть
Float Devide By Zero ?
← →
Viewer
(2002-07-22 12:10)
[13]
INF — infinity (так Борланд реагирует на эти шутки)
← →
kudatsky
(2002-07-22 12:11)
[14]
Есть.
User program:=true
Run unhandled:=true
← →
IlyaA
(2002-07-22 13:07)
[15]
В блоке try-except попробуй-
try
a:=b/0;
except
on EDivByZero do ShowMessage(«Error»);
end;
← →
kudatsky
(2002-07-22 13:43)
[16]
Сделал.
Исключение не возбуждается.
← →
IlyaA
(2002-07-22 13:45)
[17]
Похоже у тебя уже всё
упало.
← →
kudatsky
(2002-07-22 13:52)
[18]
Только-что инстолировал D5 на другую машину. То же самое. Что интересно, никакой реакции на
on E: Exception do ShowMessage(«Error»);
Может Delphi с глюками ?
← →
Слесарь Матерящийся
(2002-07-22 13:59)
[19]
Может, дело в точности представления вещественного числа?
То есть, присваиваем чистый 0, а получаем 0 + погрешность, и в результате не-ноль.
Попробуйте то же самое с целыми числами.
← →
IlyaA
(2002-07-22 14:01)
[20]
Вот енто из хэлпы. Может что и прояснит
EIntError is the base class for integer math error exceptions.
Unit
SysUtils
Description
EIntError is a generic integer math exception. Although it is never raised in the runtime library, it is the base from which other integer math exceptions descend. These are the integer math exceptions:
Exception Meaning
EDivByZero An attempt was made to divide by zero
ERangeError Number or expression out of range
EIntOverflow Integer operation overflowed
Run-time exception information is saved in fields provided by EExternal.
← →
kudatsky
(2002-07-22 14:02)
[21]
С целыми числами всё в порядке, я уже пробовал.
← →
Слесарь Матерящийся
(2002-07-22 15:11)
[22]
То-то и оно!
← →
kudatsky
(2002-07-22 15:19)
[23]
????????????????
← →
tall
(2002-07-22 16:00)
[24]
Я эту тему пеоднимал уже несколько раз. Кстати и в этой конфе тоже. Куда только не писал. Вразумительный ответ дали только в AMD (у меня эти глюки начались после того как пересел с Pentium 200MMX на AMD 1200. Думал может связано сплатформой). Там мне сказали, что это не глюк, а изменения в компиляторе в соответствии с требованиями новых стандартов ( типа ответ +INF или -INF (бесконечность) и тому подобное это не исключительная ситуация а нормальное явление). И отослели к технической документации по процессору( там, кстати, это действительно написано). Судя по всему это относится и Pentium платформе (мне писали об аналогичных проблемах на Celeron), т.е. характерно для всех новых процессоров. Решить эту проблему удалось только откатившись на DELPHI 4. Чего и вам советую.
← →
kudatsky
(2002-07-23 10:27)
[25]
tall, если Вы ещё здесь!
Где это можно прочитать ?
← →
VICTOR_
(2002-07-23 11:48)
[26]
У тебя материнка на VIA логике?
← →
Viewer
(2002-07-23 12:24)
[27]
ffmt.asm
; INF and NAN strings
INFNAN DB «INFNAN»
; function FloatToText(Buffer: PChar; const Value; ValueType: TFloatValue;
; Format: TFloatFormat; Precision, Digits: Integer): Integer;
sysutils.pas
function TextToFloat(Buffer: PChar; var Value;
ValueType: TFloatValue): Boolean;
{ FloatToDecimal converts a floating-point value to a decimal representation
that is suited for further formatting. The Value parameter must be a
variable of type Extended or Currency, as indicated by the ValueType
parameter. For values of type Extended, the Precision parameter specifies
the requested number of significant digits in the result—the allowed range
is 1..18. For values of type Currency, the Precision parameter is ignored,
and the implied precision of the conversion is 19 digits. The Decimals
parameter specifies the requested maximum number of digits to the left of
the decimal point in the result. Precision and Decimals together control
how the result is rounded. To produce a result that always has a given
number of significant digits regardless of the magnitude of the number,
specify 9999 for the Decimals parameter. The result of the conversion is
stored in the specified TFloatRec record as follows:
Exponent — Contains the magnitude of the number, i.e. the number of
significant digits to the right of the decimal point. The Exponent field
is negative if the absolute value of the number is less than one. If the
number is a NAN (not-a-number), Exponent is set to -32768. If the number
is INF or -INF (positive or negative infinity), Exponent is set to 32767.
Negative — True if the number is negative, False if the number is zero
or positive.
Digits — Contains up to 18 (for type Extended) or 19 (for type Currency)
significant digits followed by a null terminator. The implied decimal
point (if any) is not stored in Digits. Trailing zeros are removed, and
if the resulting number is zero, NAN, or INF, Digits contains nothing but
the null terminator. }
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
Наконец-то! Свершилось чудо! Наконец-то поймался тот самый «Floating point divizion by zero» о котором мне твердили несколько человек с тех самых пор, как я выложил первую версию клиента для DelphiFeeds.ru. Знаете, я бы никогда и ни за что не поверил в то, что когда-нибудь буду радоваться пойманному в своей собственной программе багу…Серьезно. Пытался найти эту ошибку всякими разными способами — таскал программу на работу, проверял на всех подряд компах — нет ошибки! А всего-то надо было…сесть за компьютер жены и запустить программу там и…
Вот он родимый «Floating point divizion by zero» как есть.
Надо сказать, до последнего момента пока не посмотрел отчёт MadExcept относительно этой ошибки, я сомневался: то ли этот баг конкретно мой (хотя никаких делений в программе, в принципе нету), то ли сам стиль глючит. А вот, что мне выдал MadExcept после того как я создал новый проект с Jet Style внутри:
00a374dc +080 Project8.exe FMX.Types 8459 +7 TCanvas.CreateFromBitmap 009b6fdf +01b Project8.exe FMX.Canvas.D2D 688 +1 TCanvasD2D.CreateFromBitmap 00a36f96 +016 Project8.exe FMX.Types 8345 +1 TCanvasManager.CreateFromBitmap 00a3165e +01a Project8.exe FMX.Types 6796 +3 TBitmap.GetCanvas 009d6771 +321 Project8.exe FMX.Platform.Win 1889 +50 TWindowBorderWin.InvalidateRegion 009d6ed2 +06e Project8.exe FMX.Platform.Win 2001 +10 TWindowBorderWin.RecreateRegion 009d8964 +d84 Project8.exe FMX.Platform.Win 2411 +138 WMNCMessages 009d9484 +618 Project8.exe FMX.Platform.Win 2684 +136 WndProc 774b0107 +02b ntdll.dll KiUserCallbackDispatcher 00a73a93 +053 Project8.exe FMX.Forms 3077 +6 TCommonCustomForm.SetWindowState 00a70103 +017 Project8.exe FMX.Forms 1742 +1 TWindowBorder.DoMinClick 00a47791 +17d Project8.exe FMX.Types 13319 +28 TControl.Click 0098d21a +04a Project8.exe FMX.Controls 2468 +14 TCustomButton.Click 00a47cfe +096 Project8.exe FMX.Types 13424 +7 TControl.MouseUp 0098d46f +073 Project8.exe FMX.Controls 2529 +13 TCustomButton.MouseUp 00a70664 +074 Project8.exe FMX.Forms 1857 +4 TWindowBorder.MouseUp 009d88ae +cce Project8.exe FMX.Platform.Win 2379 +106 WMNCMessages 009d9585 +719 Project8.exe FMX.Platform.Win 2710 +162 WndProc 75f87885 +00a USER32.dll DispatchMessageW 009d1b99 +039 Project8.exe FMX.Platform.Win 487 +8 TPlatformWin.HandleMessage 00a6c0c6 +042 Project8.exe FMX.Forms 1328 +3 TApplication.HandleMessage 009d1b0f +02b Project8.exe FMX.Platform.Win 464 +4 TPlatformWin.Run 00a6f486 +0da Project8.exe FMX.Forms 1473 +12 TApplication.Run 00a9ede3 +03b Project8.exe Project8 17 +3 initialization 74d733a8 +010 kernel32.dll BaseThreadInitThunk
После этого отчета мое состояние можно было бы описать примерно так:
Приложение, которое выглядит вот так:
оказалось виновато в том, что оно вообще запустилось (TApplication.Run) и пользователь ткнул мышкой куда-то по форме (куда-то — это на кнопочку минимизации окна). При этом, обращу внимание на тот факт, что демка, идущая в комплекте со стилем работает без ошибок И «секрет» крылся в том, что демо-приложение Embarcadero выглядело вот так:
Т.е свойство EnableBorderStyle было выставлено как False. Стоит его вернуть в True и «Floating point divizion by zero» выскакивает аки чёрт из табакерки. Итак место ошибки было более менее определено — бордюры окна, а точнее стилизованные бордюры окна. Просмотрел стиль на наличие или отсутствие каких-либо элементов бордюра — вроде бы все в норме, размеры TRect’ов выставлены правильно, положение элементов тоже. Полез снова в отчет, начал ковыряться в исходнике FMX и обнаружил место где конкретно срабатывает Exception:
//FMX.Canvas.GDIP.pas constructor TCanvasGdiPlus.CreateFromBitmap(const ABitmap: TBitmap); begin inherited CreateFromBitmap(ABitmap); FGPGraphics := TGPGraphics.Create(TGPBitmap(FBitmap.Handle)); FGPGraphics.SetSmoothingMode(SmothingDefault); FGPGraphics.SetPixelOffsetMode(PixelOffsetModeHalf); FGPGraphics.SetInterpolationMode(InterpolationModeHighQuality); FGPGraphics.SetTextContrast(TextContrast); if GlobalUseGDIPlusClearType then FGPGraphics.SetTextRenderingHint(TextRenderingHintClearTypeGridFit) else FGPGraphics.SetTextRenderingHint(TextRenderingHintAntiAlias); FGPPen := TGPPen.Create($FF000000); FGPPenBrush := TGPSolidBrush.Create($FF000000); FGPBrush := TGPSolidBrush.Create($FFFFFFFF); FGPFamily := TGPFontFamily.Create('Tahoma'); FFontScale := 96 / FGPGraphics.GetDpiX; //ВОТ ТУТ FGPGraphics.GetDpiX = 0
Почему так происходит и когда вызывается этот самый конструктор, скажу откровенно, особенно не искал и в обозримом будущем не планирую — на то есть специально обученные люди. Факт наличия бага есть, баг хоть и не всегда, но воспроизводим. Вполне возможно, что зависит он от видюшки, т.к. у меня стоит ATI Radeon, а у жены на компе — NVidia. Точное место откуда вываливается злосчастный «Floating point divizion by zero» указано. Накорябал баг-репорт…но что-то я его не наблюдаю в этом списке, поэтому, если что — баг остается «вакантным» — можете отправить его в QC повторно Пока же, для тех, кто хочет использовать Jet Style в своих приложениях, небольшой совет:
Не ставьте у приложения с Jet Style свойство формы EnableBorderStyle в значение True — избавите и себя и пользователей от лишнего бага
А я тем временем поисправляю кой-чего в клиенте DelphiFedds.ru, кстати там введена регистрация пользователей, так что скоро нас все посчитают Всем удачи и до новых встреч!
Update. Баг-репорт с описанием ошибки опубликован. Кто встречался с этой ошибкой — голосуйте
Скачать программу можно на форуме.
0
0
голоса
Рейтинг статьи
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.