IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Обработка исключений, Несрочно требуется помощь
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 112
Пол: Мужской

Репутация: -  0  +


В приложении есть процедура HandleException(Sender: TObject; E: Exception);
В ней выводится MessageBox с информацией: класс ошибки - E.ClassName, само сообщение ошибки - E.Message, класс объекта-генератора ошибки - Sender.ClassName.
В начале загрузки форм имеется присвоение
Application.OnException:=HandleException.
Как я тестировал - в код нажатия какой-то кнопки вписывал raise EMathError.Create('сообщ.') и получал красивый обработчик исключений. Но если, допустим, идет вызов процедуры через ту же кнопку, то при возникновении ошибки в процедуре выдается информация о кнопке, а не процедуре. Проблема в этом.
Хотелось бы еще как-то узнать через Sender не только класс виновника, но и его конкретное имя.

За ответы всем спасибо. Пошел мучать дальше эти эксепшны...


--------------------
Я люблю этот форум!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 112
Пол: Мужской

Репутация: -  0  +


Опять я. Как всегда забыл еще одно. :-)
В случае возникновения ошибки в процедуре таймера, сообщения выдаются через указанный период (боже упаси, если он сильно маленький). Подскажите, как заблокировать работу приложения, когда светится модальное окно с сообщением.


--------------------
Я люблю этот форум!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 68
Пол: Мужской

Репутация: -  -1  +


NetAnton
Цитата
Но если, допустим, идет вызов процедуры через ту же кнопку, то при возникновении ошибки в процедуре выдается информация о кнопке, а не процедуре.

В каком виде она выдаётся и куда :o , поясни?? В принципе, наверно, параметром передачи является класс TComponent, поэтому и не появляется информации о процедуре...

Цитата
Подскажите, как заблокировать работу приложения, когда светится модальное окно с сообщением

Работа прекращается и так smile.gif


--------------------
Главное - чтобы воля была, к победе...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 112
Пол: Мужской

Репутация: -  0  +


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

второе. работа не прекращается. хоть и появляется MessageBox, таймер себе свободно тикает, и если ошибка находится где-то в его коде, исключения выскакивают каждый миг. юзерам это не понравится.


впрочем, и с первым и вторым я разобрался. удовлетворен. Krutoy, спасибо.


--------------------
Я люблю этот форум!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 68
Пол: Мужской

Репутация: -  -1  +


расскажи как??
может код приведёшь, вдруг мне пригодиться?? smile.gif


--------------------
Главное - чтобы воля была, к победе...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 112
Пол: Мужской

Репутация: -  0  +


Бросай мыло. я посмотрю, что там стоит твоего внимания ;)


--------------------
Я люблю этот форум!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 68
Пол: Мужской

Репутация: -  -1  +


fjodorow@list.ru


--------------------
Главное - чтобы воля была, к победе...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 19:23
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name