Вниз
Скачать: CL | DM;

Обработка исключений   Найти похожие ветки 

← →
Chubais ©   (2003-02-03 14:00) [0]

Уважаемые! Такой вопрос есть: как обрабатывать исключения, которые возникают в микрософтовских длл-ках? ;))) лежит на форме TWebBrowser, форма открывается, делается следующее:
try
WEBBROWSER1.Navigate("about:blank");
while WEBBROWSER1.ReadyState<>READYSTATE_COMPLETE do
Application.ProcessMessages;
except
end;

если закрыть форму, пока выполняются эти строчки, а это может занимать несколько секунд, то возникает исключение в SHLWAPI.DLL.
Которое не ловится и не должно (?) ловиться в try..except.
Вопрос: как это исключение задавить?


← →
Digitman ©   (2003-02-03 14:12) [1]

либо обрабатывай Application.OnException()
либо не допускай исключения, контролируя момент разрушения формы, которой принадлежит компонент WEBBROWSER1, дабы не обращаться к компоненту после его автоматического закрытия/разрушения


← →
Chubais ©   (2003-02-03 14:49) [2]


> либо обрабатывай Application.OnException()

хотелось бы локально задавить ошибку...

> контролируя момент разрушения формы

запрещать юзеру закрыть форму пока не отработает SHLWAPI не хоцца...


← →
Digitman ©   (2003-02-03 14:59) [3]


> запрещать юзеру закрыть форму пока не отработает SHLWAPI
> не хоцца...


Зачем запрещать-то ? Нехай закрывает, коль невтерпеж ему !)

Твоя задача - вовремя принять соотв.меры

Ошибкак какая возникает ? Конкретно - класс, текст и т.п. ?


← →
Chubais ©   (2003-02-03 15:52) [4]

Access violation at address 70C17CA8 in module "SHLWAPI.DLL". Read of address 00000018
вот такая вот))) по всей видимости, обращение к структуре порушенного браузера))


← →
Digitman ©   (2003-02-03 16:39) [5]

в деструкторе формы останови навигацию (см. метод Stop())



← →
Chubais ©   (2003-02-03 18:47) [6]

да стоит там вот такое, в OnClose:
if WebBrowser1.Busy
then begin
WebBrowser1.Stop;
...
end;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
1-38348
NewGuest
2003-01-25 14:34
2003.02.13
Подскажите, почему с первого раза не срабатывает?


7-38603
FOX(c)
2002-12-11 23:46
2003.02.13
ПРОГРАМНО ОТКЛЮЧИТЬ ФЛОП-ДИСКОВОД


3-38105
Victor_
2003-01-27 14:08
2003.02.13
ADOQuery + сортировка


3-38109
sewix
2003-01-27 08:50
2003.02.13
QuickReport отчет не из нестандартной базы


14-38463
me2
2003-01-30 14:39
2003.02.13
Visual Basic




   Наверх