![]() |
|
|
![]()
|
|
| knopka |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 17.1.2006 Где: Россия: Петербург Репутация: нет Всего: 1 |
Запрашиваю данные, если таких данных нет то возникает исключение
EVariantTypeCastError так как неможет конвертировать NULL в int (MyColor целое) try { myColor= fmFullHistory->SQLClientDataSet1->FieldByName("Color")->Value; } catch(...) { fmFullHistory->SQLClientDataSet1->Active=false; myColor = 5;... обрабатываю вывожу на экран сообщение об отсутствии данных закрываю окно сообщения и вываливается ошибка Access violation at address .... |
|||
|
||||
| pam |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 18.12.2005 Репутация: нет Всего: нет |
Запускаешь из Билдера? Он, кобель злостный, у меня все ошибки перехватывает до программы. Попробуй запустить екзешник отдельно - не из Билдера...
|
|||
|
||||
| Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: нет Всего: 61 |
Tools\Debugger options. Вкладки exceptions
-------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
| knopka |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 17.1.2006 Где: Россия: Петербург Репутация: нет Всего: 1 |
Что-то всё в Tools\Debugger пощёлкал непомагает, как я понимаю это всё может влиять в процессе отладки а не готового exeшника
|
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Ну так в дебагере определите, где у Вас ошибка генрится. Судя по симптомам
" Access violation at address" никакого отношения к EVariantTypeCastError не имеет Весь код, который у Вас catch предоставте, пожалуйста -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| knopka |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 17.1.2006 Где: Россия: Петербург Репутация: нет Всего: 1 |
int myColor;
try { myColor= fmFullHistory->SQLClientDataSet1->FieldByName("Color")->Value; } catch(...) { fmFullHistory->SQLClientDataSet1->Active=false; myColor = 5; // если нет событий обрабатываем ситуацию MessageBox(NULL,NULL,"Запрашиваемых событий нет",MB_OK); } как только кликнул Ок на сообщении "Запрашиваемых событий нет" так ошибка сразу вываливается если же события есть то всё проходит как по маслу. Уже думал может myColor сделать AnsiString тогда и обрабатывать исключение не надо будет? |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
ошибка происходит не в этом куске, а после. возможно из-за закрытия dataset'a. научись пользоваться встроенным отладчиком.
|
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Да, похоже строка, генерирующая ошибку, расположена вне этого кода
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| knopka |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 17.1.2006 Где: Россия: Петербург Репутация: нет Всего: 1 |
to dumb: если не закрываю набор всё вообще виснет
|
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Дайте код который у Вас следует за этим куском. Вы дебагере по шагам прошлись? Какую строчку показывает дебагер?
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| knopka |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 17.1.2006 Где: Россия: Петербург Репутация: нет Всего: 1 |
Чуть поясню суть задачи прорисовка таблицы, без прорисовки даже пустые запросы исключений не вызываю. Дебагер возмущается на
вываливается Access violation at address ... |
||||
|
|||||
| knopka |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 17.1.2006 Где: Россия: Петербург Репутация: нет Всего: 1 |
Поставил цвет при обработке исключения 3 (тоесть из определённых) - ошибка таже.
На другой форме запрос другой но прорисовка таблицы таже, результат точно такой, так , что очевидно ошибку вызывает этот кусок кода |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Вы ловите exception и о нем можете забыть.
У Вас генерится где то другой. Я не понимаю, почему бы Вам вместо того, чтобы гадать, проссто не пройтись по шагам и выяснить где именно генерится второй эксепшен. То что, в готовом приложении эксепшион вываливается сразу после окна, ничего не значит. К чему например, прикучен у Вас DBGrid? В конце концов, нафига дожидаться первого эксешен. Не проще выполнить следующий код
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| knopka |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 17.1.2006 Где: Россия: Петербург Репутация: нет Всего: 1 |
to Vyacheslav
Большое Вам спасибо за толчок в нужном направлении сделал так:
Всё работает. Ошибок нет. Спасибо. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |