Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2009, 04:29   #1
ivladak
 
Регистрация: 28.03.2009
Сообщений: 8
Вопрос Проблема с обработкой исключений в Delphi при компиляции программы на сервере

проблема заключается в следующем: существует фрагмент кода, выполняющий вещественное деление, занесенный в защитный блок

Код:
  try
    h := abs((a*cc.x + b*cc.y + c)) / sqrt(a*a + b*b)
  except
    on E: EMathError do h := sqrt(dist2(cc,aa))
  end;
оператор под try все равно выполняется, однако, если залезть в настройки Delphi7 и отключить опцию
'Tools -> Debugger Options -> Stop on Delphi Exceptions',
код начинает работать корректно (так, как задумано).

но я пишу программу для тестирования ее на удаленном сервере, куда я отправляю только исходный код. очень хотелось бы управлять настройкой 'Tools -> Debugger Options -> Stop on Delphi Exceptions' при помощи директивы компилятора ({$..}).

подскажите, пожалуйста, собственно, какой директивы ?
ivladak вне форума Ответить с цитированием
Старый 11.08.2009, 07:16   #2
megachuhancer
Форумчанин
 
Регистрация: 16.04.2009
Сообщений: 247
По умолчанию

Эта опция является настройкой IDE, а не компилятора. Следовательно, её нельзя задать директивой.

Последний раз редактировалось megachuhancer; 11.08.2009 в 07:19.
megachuhancer вне форума Ответить с цитированием
Старый 11.08.2009, 08:18   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
очень хотелось бы управлять настройкой 'Tools -> Debugger Options -> Stop on Delphi Exceptions' при помощи директивы компилятора ({$..}).
Перечитайте как минимум трижды и подумайте что написали.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 11.08.2009, 08:47   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ivladak
Знаешь, если ты в таком ракурсе поставил вопрос, то либо забудь, либо вместо try используй работу с SEH через Win API.
А вообще не парься.
Цитата:
куда я отправляю только исходный код
А что исполнимые файлы уже не в моде?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.08.2009, 15:09   #5
ivladak
 
Регистрация: 28.03.2009
Сообщений: 8
По умолчанию

Stilet
Цитата:
А что исполнимые файлы уже не в моде?
в спортивном программировании решением считается иходный код на одном из доступных языков программирования. решения компилируются на сервере и тестируются на различных наборах входных данных.

megachuhancer
Цитата:
Эта опция является настройкой IDE, а не компилятора. Следовательно, её нельзя задать директивой.
а жаль. спасибо за объяснение

Квэнди
Цитата:
Перечитайте как минимум трижды и подумайте что написали.
да вроде все поняли. я написал то, что хотел написать..
ivladak вне форума Ответить с цитированием
Старый 11.08.2009, 15:23   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Смотрите в сторону ToolsAPI
Цитата:
да вроде все поняли. я написал то, что хотел написать..
именно это и пугает. т.е. программа, считающая логарифм (для примера) должна менять настройки IDE ? вам это не кажется странным ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 11.08.2009, 15:39   #7
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Гм, а не проще ли проверить делитель на ноль? и никакого try использовать не надо
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 11.08.2009, 15:54   #8
ivladak
 
Регистрация: 28.03.2009
Сообщений: 8
По умолчанию

Greblin
Цитата:
Гм, а не проще ли проверить делитель на ноль? и никакого try использовать не надо
Ну вообще я так и сделал, просто стало потом интересно, получится ли на соревнованиях пользоваться обработкой исключений.. мало ли ;-)

Квэнди
странно, конечно =)

Последний раз редактировалось Квэнди; 11.08.2009 в 15:57.
ivladak вне форума Ответить с цитированием
Старый 11.08.2009, 16:38   #9
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

с включенной опцией 'Tools -> Debugger Options -> Stop on Delphi Exceptions', программа останавливается только когда запускаете ее отладку, т.е. из под Delphi.
Запустите скомпилированный exe - он не будет останавливаться независимо от этой опции
s.Creator вне форума Ответить с цитированием
Старый 11.08.2009, 17:04   #10
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
Сообщение от s.Creator Посмотреть сообщение
с включенной опцией 'Tools -> Debugger Options -> Stop on Delphi Exceptions', программа останавливается только когда запускаете ее отладку, т.е. из под Delphi.
Запустите скомпилированный exe - он не будет останавливаться независимо от этой опции
Вопрос из принципа не читаете ?
Цитата:
я пишу программу для тестирования ее на удаленном сервере, куда я отправляю только исходный код
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при компиляции (Delphi) alxd Помощь студентам 6 24.07.2009 13:03
WebBrowser проблема с загрузкой страницы и последующей обработкой OkeaH Общие вопросы Delphi 3 15.02.2009 01:43
Проблема с обработкой нажатой клавиши Bayazet Общие вопросы Delphi 7 10.02.2009 13:21
Обработчик исключений Delphi xxxPascalxxx Помощь студентам 5 30.11.2008 06:37
Проблема с обработкой DBF файла oleg kutkov Общие вопросы C/C++ 1 22.08.2008 21:07