Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-22629
Дмитрий
2002-03-27 19:00
2002.04.08
COM&Outlook Express


7-22850
МИФИст
2002-01-10 22:25
2002.04.08
Задержки ?


3-22571
dymka
2002-03-16 13:11
2002.04.08
Как сделать правильно вызов функции в IB?


14-22788
alexey1
2002-02-22 02:27
2002.04.08
вопрос знатокам хуков(Юрию Зотову, Fellomene, Ивану Шихалеву и всем всем


1-22613
LiNkS
2002-03-27 16:06
2002.04.08
StringReplace





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский