Форум: "Основная";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
ВнизНепонятно отчего ошибка раз... неясно почему она не обрабатывается :( Найти похожие ветки
← →
$Hic0 (2002-03-26 16:24) [0]Есть кусок кода
procedure TForm1.Timer4Timer(Sender: TObject);
var tmpX : double;
i: byte;
begin
//-------Вывод графика отклонения от целевого угла
With Series3 do
begin
try
tmpX:=XValues.Last-XValues[0];
AddXY(XValues.Last+tmpX,Round(180*f/Pi));
except on EOverflow do Begin
tmpX:=0;
Replace;
Series3.Clear;
For i:=0 to 30 do Series3.AddXY(i,Random(20));
end;
end;
Delete(0);
end;
//-------------------------------------------------
end;
Т.е. выводится график, значения которого пересчитываются при каждом обращении к таймеру... сначала все идет хорошо, но со временем вылетает ошибка переполнения... переполнения чего непонятно :( Накопления как видите здесь нет :( Самое интересно интераптер останавливая программу не становится на ту строчку кода которая вызвала ошибку хотя обычно он, как вы знаете, такие вещи делает :). Ошибка точно в этому куске, т.к. закоментировав процедуру все работает как надо... это все хорошо. Теперь когда я собираюсь обрабатывать ее руками и как видите обрабатываю присвайивая всем переменным по нулям для начала. Процедура Replace занимается как раз этим. Очищаю полностью Сериес и заполняя его новыми случайными значениями. Усе равно, такое ощущение что он этого куска просто не видет. В пошагоовом режиме, отладчика поцедура просто пропускается :(
Может кто сталкивался? В чем собака зарыта? :)
← →
$hiC0 (2002-03-26 16:57) [1]Так что никто не знает что-ли? :)) Человки, будьте милосердны, хотя-бы предположите что-нить :) Я вам спасибо скажу :)
← →
Johnmen (2002-03-26 17:08) [2]Интересно все же содержание сообщения об ошибке...
← →
$hiC0 (2002-03-26 17:15) [3]Project Control.exe raised exception class Eoverflow with message "Floating point overflow". Process stopped. Use Step or Run to continue.
Буквально вот-так :)
← →
$hiC0 (2002-03-26 18:13) [4]Ну же люди, в чем Баг? :(
← →
oomneeq (2002-03-26 18:21) [5]>AddXY(XValues.Last+tmpX,Round(180* f/Pi));
а f - чо такое?
при его запредельных значениях запросто можно получито оверфлоу
← →
Eug201 (2002-03-26 18:22) [6]Могу предположить, что ошибка возникает внутри on EOverflow, или этого не может быть?
← →
$hiC0 (2002-03-26 18:28) [7]f - значение угла в радианах, я все проверил перепроверил :) изменение от -1.57 до +1.57. Т.е. От -90 до +90 говоря человечееским языком :)).
Eug201 >
Могу предположить, что ошибка возникает внутри on EOverflow, или этого не может быть?
Вроде нет не может. Потому что кусок
Series3.Clear;
For i:=0 to 30 do Series3.AddXY(i,Random(20));
выполняется программой без ошибок в самом начале при событии OnCreat основной формы.
Процедура Replace; также очень часто вызывается из основной программы и она не глючная, там просто всем переменным присваются нулевые значения.... надо было ее Init назвать :)
oomneeq > а f - чо такое?
oomneeq > при его запредельных значениях запросто можно получито oomneeq > оверфлоу
Даже если допустить что это так, так какого ..... спрашивается не срабатывает обработчик??? Может где галочки какие надо выставить в настройках компилятора? Тьфу-ты...
ПОМОГИТЕ ПЛЗ... зашиваюсь, встал перед этой проблемой как честно слово баран какой-то :(((
← →
oomneeq (2002-03-26 18:49) [8]Значит там не EOverflow а какойто другой эксепщн
сделай так:
except on E:EOverflow do Begin
tmpX:=0;
Replace;
Series3.Clear;
For i:=0 to 30 do Series3.AddXY(i,Random(20));
end;
on E:Exception do
begin
Showmessage(E.Message)
end;
← →
$hiC0 (2002-03-26 19:37) [9]Ребят, самое интересное сказать? :)
Я ведь и раньше с такой траблой сталкивался. Обработчик начинает работать когда чел одельно из под фоточек запускает ехешник, а до тех пор возникающие ошибки не обрабатываются трай-ексептом :)
Мысль возникла запустить отдельно от Дельфей свей хозяйство :)) Заработал обработчиак, как миленький :) Спаибо ребята!
:)
← →
aus (2002-03-26 20:36) [10]>а до тех пор возникающие ошибки не обрабатываются трай-ексептом
Обрабатываются, просто тебе сообщение выдается во время отладки, которое можно отключить в Project-Options....
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c