![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.12.2007
Сообщений: 44
|
![]()
Здраствуйте
Разбираюсь с исключениями, накалякал такой пример Код:
Но как только добавляю гениальную строчку Form1.Caption:=FloatToStr(x); все начинает работать: Код:
Уже бьюсь головой об стену |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
![]()
Эт оптимизация виновата. В первом случае переменная х нигде не используется, поэтому компилятор её не включает в конечный код - вот и нет ошибки! Во втором случае переменная включается в код, т.к. она дальше используется - вот тут всё "логично"
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 15.12.2007
Сообщений: 44
|
![]()
Спасибо большое
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 15.12.2007
Сообщений: 44
|
![]()
а такой пример
Код:
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 24.10.2008
Сообщений: 17
|
![]()
и действительно странно. деление на ноль - мгновенное EZeroDivide.
Может стоит покапаться в Tools - DebuggerOptions - OSExceptions |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
![]()
c нигде не используется дальше...
Всё та же оптимизация. Откомпилируйте код и посмотрите, что около этих строк нет отметок слева (синих точек нет). Или пошагово программу пройдите - результат вас убедит Добавлено Свойства проекта - вкладка компилятор - уберите оптимизацию, тогда всё будет "как нужно" Последний раз редактировалось eoln; 12.11.2008 в 00:33. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оператор исключения | Titan123 | Общие вопросы Delphi | 12 | 08.07.2008 14:30 |
Нужна программа исключения списков строк | AFOMENKO | Фриланс | 8 | 11.12.2007 00:22 |