Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: CL | DM;

Вниз

SOS ! Не работает raise Exception.Create( Сообщение )   Найти похожие ветки 

 
Globus   (2003-09-09 21:08) [0]

Во всём проекте перестали работать raise Exception.Create ("Сообщение"). Сообщения на экран не выводятся ! С системными исключительными ситуациями та же проблема. Вввод неправльного имени или пароля при подключении к БД, или нарушение PRIMARY KEY и т.п. ошибки раньше выбрасывались пользователю на экран. Теперь никаких сообщений ! В режиме отладки отладчик показывает сообщение, но дальше оно чем-то подавляется. Не мной подавляется, это точно. Потому что у меня в проекте разбросаны десятки RAISE-ов и раньше они работали, и вдруг как по мановению волшебной палочки работать перестали. C помощью try ... exept я их не перехватываю и не глушу. Видимо какая-то опция в настройках проекта их глушит. Но какая ?


 
HolACost! ©   (2003-09-09 21:11) [1]

Тестил на другой тачке?


 
Globus   (2003-09-09 21:19) [2]

Как раз с других тачек пользователи и прибежали, стали жаловаться что программа молчит как партизан, никаких собщений не выдаёт. Попробовал пересобрать проект на компе другого разработчика - никаких изменений ! Сообщения подавляются. Нашёл старую версию проекта двухмесячной давности где всё нормально. Но откатываться на 2 месяца назад не хочется..... Хочется понять, что за гадость прицепилась к моему проекту.


 
HolACost! ©   (2003-09-09 21:29) [3]

Ты не перехватываешь что-то вроде OnException?


 
Globus   (2003-09-09 21:44) [4]

Да нет же. Я на Delphi c 1996 года пишу, прекрасно знаю что такое On Exceptin. Да и не могу же я его везде перехватывать, во всём огромном проекте (у меня куча мест в программе, где должны возникать exception и сообщения об ошибках). Проблема в том, что что-то перехватывает его ВО ВСЁМ ПРОЕКТЕ и глушит. Проект огромный, ему не первый год и далеко не первая версия. Как такое возможно ? Если бы я захотел такое сделать, то не сумел бы. Тут что-то кроется в настройках проекта, а не в исходниках. Но я нашёл только настройки отладчика, которые подавляют сообщения об ошибках в режиме отладки. Это не то....


 
HolACost! ©   (2003-09-09 21:47) [5]

пошёл ломать Дельфю - самому уже интересно тогда! У меня была похожая фича из-за одного стороннего компонента! Но там пропали ексцептены только определённые!


 
Тохус ©   (2003-09-09 22:23) [6]

Бывает так, что вновь добавленный компонент меняет один из используемых модулей на похожий - например StdCtrls на QStdCtrls.
У меня таким образом отключалось ShowMessage.


 
jack128 ©   (2003-09-09 22:25) [7]


> Да и не могу же я его везде перехватывать

Ну почему же не можешь? Tapplication.OnException как раз перехватывает все исключения во всем проэкте(точнее в Application.Run, но это обычно почти весь проэкт)


 
Globus   (2003-09-10 16:09) [8]

>Ну почему же не можешь? Tapplication.OnException как раз перехватывает все исключения

Точно, я о нём забыл. Но к сожалению, мне это не помогло. Проверил программу - нигде я TApplication.OnException не использую. Ещё проверил ApplicationEvents (я один такой компонент использую), но у того кроме onMinimize и onRestore никаких событий не перехватываю).
Идея насчёт вновь вновь добавленного компонента неплохая, но я в последние месяцы никаких новых компонентов не добавлял. Да и забить все exeptions в проекте этот компонент смог бы только в том случае, если бы заменил модуль SysUtils (или бы подправил там что-нибудь).


 
Globus   (2003-09-10 21:58) [9]

Пересобрал проект шестым Дельфи... Сообщения об ошибках снова стали выводиться на экран. Я ничего не понял, что это было. Такого безобразия никогда раньше не было (с Delphi работаю с 1-й версии). Нашёл версию проекта полугодовой давности (там всё нормально работало, сохранился старый exe-шник с нормальной обработкой ошибок), пересобрал его пятым Дельфи и сообщения перестали выводиться на экран !!! Провёл тот же эксперимнт на компьютере другого разработчик - то же самое, сообщения не выводятся.
Вобщем, я вынужденно переношу проект на шестой Дельфи. Но никакой гарантии, что всё будет в порядке, нет. А если сообщения об ошибках снова начнут исчезнут, куда дальше переходить, на 7-й, на 8-й ?


 
KSergey ©   (2003-09-11 07:24) [10]

А интересно, полный ребилд проекта не помог бы? Не факт, конечно, но иногда помогает... (пока из переписки не факт, что это было сделано)


 
Globus   (2003-09-11 17:07) [11]

А что такое полный ребилд ? Я нажимаю пункт меню Build в интегрированной среде Дельфи. Это какой, ребилд, полный или неполный ?


 
Verg ©   (2003-09-11 18:18) [12]

Хм, а что мешает какому-либо из компонентов (левых произ-телей) "взять на себя" Application.OnException?
И знать ничего не будешь...


 
Юрий Федоров ©   (2003-09-11 19:36) [13]

У меня была такая ситуация - какой-то сторонний компонент "захватил" Application.OnException. Я сейчас точно не помню, какой именно, но он относился к известной библиотеке известной фирмы (потому что компоненты Васи Пупкина я не ставлю).

В принципе этf ситуация проверяется элементарно - нужно просто в run-time проверить Assigned (Application.OnException)



Страницы: 1 вся ветка

Текущий архив: 2003.09.22;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.028 c
3-71483
Tumcoat
2003-09-02 02:34
2003.09.22
Поиск в базе данных


3-71554
Layner
2003-08-29 13:01
2003.09.22
Подскажите, как в DBGrig курсор поместить в опр. ячейку?


4-71998
Pi314
2003-07-20 20:54
2003.09.22
HOOK мыши - KeyState?


14-71892
McLoop
2003-08-18 02:15
2003.09.22
Необходимые программы


3-71510
konst
2003-09-01 09:35
2003.09.22
Ув. мастера помогите разобраться с MDI формами