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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2013, 15:01   #1
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
Вопрос Перехват ошибок из DLL

Доброго времени суток!
Есть DLL от которой нет исходников, используется в моей программке, при некоторых условиях генерирует ошибку(конкретно out of index), нужно как-то перехватывать эту ошибку или просто запретить ее вывод. Если просто установить обработчик Application.onException:=HandleExce ption; то ошибки из самой программы обрабатываются а из DLL нет.
Подскажите пожалуйста в какую сторону копать, ну или какое-то конкретное решение.
Заранее спасибо!
Crystallon вне форума Ответить с цитированием
Старый 18.10.2013, 15:07   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Нет таких решений.

Вероятно, можно завернуть вызов экспортируемой функции из dll в try...except.
Но эфеект мало вероятен, т.к. ошибка происходит в АП другого модуля.

Вы можете поискать исходники и пересобрать их исправив баг, иначе - никак.
Человек_Борща вне форума Ответить с цитированием
Старый 19.10.2013, 02:16   #3
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Ну во-первых.
На каком языке написана та dll? Если не на Дельфи, то о каких исключениях и тем более о каком HandleException может идти речь?

2 Человек_Борща
АП у нас на всех форумах один и тот же.
Ну а если по сабжу, то что значит "АП другого модуля"?.
northener вне форума Ответить с цитированием
Старый 19.10.2013, 02:28   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Цитата:
АП
Адресное Пространство.

Да, DLL живет внутри АП чужого процесса, но так же имеет своё собственное АП где исполняется код код DLL.
Человек_Борща вне форума Ответить с цитированием
Старый 19.10.2013, 02:33   #5
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Адресное Пространство.

Да, DLL живет внутри АП чужого процесса, но так же имеет своё собственное АП где исполняется код код DLL.
Ну и что? Это моё АП! И если мой процесс встречает там ошибку, то мне об этом всегда (почти) сообщают. Не сообщают только в случаях полной разрухи и хаоса.

Хотя если внимательно (не по-тяпницки) прочитать топик...
"Если просто установить обработчик Application.onException:=HandleExce ption;"
то больше уже слов нет.

Последний раз редактировалось Stilet; 21.10.2013 в 12:05.
northener вне форума Ответить с цитированием
Старый 21.10.2013, 11:13   #6
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Хотя если внимательно (не по-тяпницки) прочитать топик...
"Если просто установить обработчик Application.onException:=HandleExce ption;"
то больше уже слов нет.
На что вы намекаете? Каких слов у вас нет? Раздел называется "Общие вопросы Delphi", я задал вполне конкретный вопрос, если у вас нет на него ответа, то почему я вижу тут ваше сообщение, да еще и в подобном стиле? Я сюда пришел не доказывать что я офигеть какой программист или что-то в этом роде, и вас прошу этого не делать.

Последний раз редактировалось Crystallon; 21.10.2013 в 11:16.
Crystallon вне форума Ответить с цитированием
Старый 21.10.2013, 11:19   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

в длл ловите ошибку, в прогу возврашайте "еррор код", в проге делайте вывод...
eval вне форума Ответить с цитированием
Старый 21.10.2013, 12:54   #8
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
На что вы намекаете?
А чего вы хотели добиться этой строкой?
northener вне форума Ответить с цитированием
Старый 21.10.2013, 15:21   #9
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

eval
яж написал что нет исходников от dll

northener
Я добился чего хотел - при любой ошибке в приложении выполняется процедура HandleException вместо выбрасывания error окон пользователю. Просто изначально мне казалось логичным что она должна работать и с DLL... В общем неважно, я уже понял что задача не реализуемая с точки зрения здесь ответивших, тема исчерпана.
Crystallon вне форума Ответить с цитированием
Старый 21.10.2013, 16:41   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

Цитата:
яж написал что нет исходников от dll
тогда скорее всего у вас ошибка, а не в длл, и семантику функции надо смотреть
eval вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перехват ошибок ввода-вывода _-Re@l-_ C# (си шарп) 10 19.01.2012 09:22
перехват ошибок Марк Охман БД в Delphi 5 08.12.2010 16:03
перехват ошибок vba, excel alvazor Microsoft Office Excel 8 27.10.2010 11:50
Перехват ошибок компилятора Яр|/||< (^_^) Общие вопросы Delphi 4 27.03.2010 16:07
Перехват ошибок от Windows DRUNE Софт 2 09.04.2009 13:24