![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обработка исключений
Chubais © (2003-02-03 14:00:00)Уважаемые! Такой вопрос есть: как обрабатывать исключения, которые возникают в микрософтовских длл-ках? ;))) лежит на форме TWebBrowser, форма открывается, делается следующее:
try
WEBBROWSER1.Navigate("about:blank");
while WEBBROWSER1.ReadyState<>READYSTATE_COMPLETE do
Application.ProcessMessages;
except
end;
если закрыть форму, пока выполняются эти строчки, а это может занимать несколько секунд, то возникает исключение в SHLWAPI.DLL.
Которое не ловится и не должно (?) ловиться в try..except.
Вопрос: как это исключение задавить?
Chubais (2003-02-03 18:47:00) [1]да стоит там вот такое, в OnClose:
if WebBrowser1.Busy
then begin
WebBrowser1.Stop;
...
end;
Digitman (2003-02-03 16:39:00) [2]в деструкторе формы останови навигацию (см. метод Stop())
Chubais (2003-02-03 15:52:00) [3]Access violation at address 70C17CA8 in module "SHLWAPI.DLL". Read of address 00000018
вот такая вот))) по всей видимости, обращение к структуре порушенного браузера))
Digitman (2003-02-03 14:59:00) [4]
> запрещать юзеру закрыть форму пока не отработает SHLWAPI
> не хоцца...
Зачем запрещать-то ? Нехай закрывает, коль невтерпеж ему !)
Твоя задача - вовремя принять соотв.меры
Ошибкак какая возникает ? Конкретно - класс, текст и т.п. ?
Chubais (2003-02-03 14:49:00) [5]
> либо обрабатывай Application.OnException()
хотелось бы локально задавить ошибку...
> контролируя момент разрушения формы
запрещать юзеру закрыть форму пока не отработает SHLWAPI не хоцца...
Digitman (2003-02-03 14:12:00) [6]либо обрабатывай Application.OnException()
либо не допускай исключения, контролируя момент разрушения формы, которой принадлежит компонент WEBBROWSER1, дабы не обращаться к компоненту после его автоматического закрытия/разрушения