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

NMHTTP, помогите разобраться с исключениями   Найти похожие ветки 

 
GobliNGuT   (2003-01-09 10:07) [0]

Попытался создать простенькую программу висящую в терее и проверяющая коннект до сайта (к примеру почтового).
Вопрос собственно состоит в том, что при ConnectionFailed вызывается обработчик OnFailed, а после него вызывается сразу исключение.
Метод OnError у компонента есть, но он объялен в private и
соответственно мне его не изменить.
Подскажите, как я могу сделать так чтобы исключение не возникало.
Думаю что его надо каким-то образом убить в OnFailed. Пытался
использовать GetLastError и SetLastError. Ничего не получается.
Заранее спасибо!


 
Mischka ©   (2003-01-09 11:13) [1]

Вариант: сделай наследник компонента, и в нем убей метод onError, т.е. чтоб он ничего не делал :)


 
GobliNGuT   (2003-01-10 01:38) [2]

Так не интересно, интересно разобраться с исключениями на таком уровне, что бы я мог их не только вызавать но и убирать когда они мне не нужны ... Надеюсь еще варианты будут? Но и на этом спасибо!


 
Mischka ©   (2003-01-10 06:21) [3]

Может, я чего не допонял. Но если там вызывается ИСКЛЮЧЕНИЕ, то его наверняка можно перехватить в блоке try ... except


 
GobliNGuT   (2003-01-10 18:17) [4]

Дело в том что через Try ... Except не получится... так как исключение возникает внутри компонента и генерируется оно тоже там... есть подозрение что в обработчике события OnError...


 
GobliNGuT   (2003-01-11 01:14) [5]

Дело в том что через Try ... Except не получится... так как исключение возникает внутри компонента и генерируется оно тоже там... есть подозрение что в обработчике события OnError...


 
Rouse_ ©   (2003-01-11 01:29) [6]

Вам же предложили правильный вариант

type TMyHTTP = class(TNMHTTP);
private
procedure OnError(исходников нет тут сам напишешь); override;
end;

procedure TMyHTTP.OnError();
begin
//inherited не ставим
end;

Все

Желаю успехов


 
Malder ©   (2003-01-11 12:33) [7]

>NM HTTP, помогите разобраться с исключениями

>и проверяющая коннект до сайта (к примеру почтового).

А если тебе вообще надо проверить, жив ли сервер, не проще ли использовать пинг ?


 
Mischka ©   (2003-01-11 12:34) [8]

А если все-таки хочешь, чтоб onError иногда срабатывал можно написать так:

procedure TMyHTTP.onError();
begin
if ICanDoThis then inherited
end;

:)



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

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



Память: 0.46 MB
Время: 0.011 c
1-87528
ЮЮ
2003-02-17 08:37
2003.02.27
Русский интерфейс программы в


7-87732
VideoLord
2002-12-26 03:19
2003.02.27
Такого не может быть...


1-87506
littlelove
2003-02-15 22:44
2003.02.27
ToolBar ->ToolWindow


6-87591
Chak
2003-01-09 16:46
2003.02.27
Скорость CONNECTa


3-87249
NDmitry
2003-02-11 15:52
2003.02.27
MaxFileHandle




   Наверх