Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: CL | DM;

Вниз

Как заглушить вывод ошибки на экран   Найти похожие ветки 

 
JohnS   (2005-01-11 10:53) [0]

Hello All
Не подскажите можно ли поставить галочку которая блокирует вывод на экран сообщение об ошибках, которые происходят к тому же в СТОРОННИХ компонентах .


 
Александр Иванов ©   (2005-01-11 10:55) [1]

try
...
exept
...
end


 
TUser ©   (2005-01-11 10:55) [2]

try except на все обращения к их методам/свойствам. Галочка - stop on delphi exceptions
+ application.OnException


 
Семен Сорокин ©   (2005-01-11 10:58) [3]

не использовать такие сторонние компоненты.


 
TUser ©   (2005-01-11 11:04) [4]

Кстати, есть еще JclDebug.pas. Люди хвалят, но сам я не пробовал пока. Возможно, это то, что тебе надо ...


 
JohnS   (2005-01-11 12:29) [5]

Кстати

try
...
exept
...
end


Не канает , просто компонент при этом не работает ( я имею ввиду INDY)

Вот пример где разработчики так и советуют , но поставив

try
 raise EIdConnClosedGracefully.Create RSConnectionClosedGracefully);
except
end;


Я просто наблюдаю подвис компонента :-((((((((

procedure TIdIOHandler.RaiseConnClosedGracefully;
begin
 (* ************************************************************* //
 ------ If you receive an exception here, please read. ----------

 
 If this is a CLIENT
 -------------------
 The server side of this connection has disconnected normaly but your client has attempted
 to read or write to the connection. You should trap this error using a try..except.
 Please see the help file for possible further information.

 // ************************************************************* *)

    raise EIdConnClosedGracefully.Create(RSConnectionClosedGracefully);
end;


 
Семен Сорокин ©   (2005-01-11 12:42) [6]

>JohnS   (11.01.05 12:29) [5]
тебе просто нужно добавить обработчик в except:

try
 // работа с компонентом

except
 on E: EIdConnClosedGracefully do
   // попытка прочитать/записать при закрытом соединении
end


 
Семен Сорокин ©   (2005-01-11 12:48) [7]

или в OnException:

procedure TMainForm.AppException(Sender: TObject; E: Exception);
begin
if Assigned(E) and (E is EIdConnClosedGracefully) then
 // твои действия
else
 Application.ShowException(Exception(ExceptObject))
end;


 
JohnS   (2005-01-11 13:05) [8]

Семен Сорокин ©

Так все виснет :-(((((((((((((((((((

try
// работа с компонентом

except
on E: EIdConnClosedGracefully do
  // попытка прочитать/записать при закрытом соединении
end


 
Семен Сорокин ©   (2005-01-11 13:09) [9]


> Семен Сорокин ©
>
> Так все виснет :-(((((((((((((((((((

приведи код, раньше сообщение не нравилось, а теперь всё виснет, что отладчик говорит?


 
JohnS   (2005-01-11 14:01) [10]

Отладчик что прикольно ничего не говорит , висит на IdFTP.put()
пока CTRL-F2 не нажмеш

procedure TIdIOHandler.RaiseConnClosedGracefully;
begin

//ТО что было
// raise EIdConnClosedGracefully.Create(RSConnectionClosedGracefully);

//То что я добавил
try
// работа с компонентом

except
on E: EIdConnClosedGracefully do
 // попытка прочитать/записать при закрытом соединении
end

end;//proc


 
Семен Сорокин ©   (2005-01-11 14:11) [11]


> JohnS   (11.01.05 14:01) [10]
> Отладчик что прикольно ничего не говорит , висит на IdFTP.put()
> пока CTRL-F2 не нажмеш
>
> procedure TIdIOHandler.RaiseConnClosedGracefully;
> begin
>
> //ТО что было
> // raise EIdConnClosedGracefully.Create(RSConnectionClosedGracefully);
>
> //То что я добавил
> try
> // работа с компонентом
>
> except
> on E: EIdConnClosedGracefully do
>  // попытка прочитать/записать при закрытом соединении
> end
>
> end;//proc


ты навреное не понял, в исходники indy лезть не надо, это тебе в твоей процедуре/ф-ии (или процедурах/ф-ях) при работе с этим компонетом надо использовать предложенную конструкцию, как пример:
try
 IdFTP.put()
except
 on E: EIdConnClosedGracefully do  
  MessageDlg("Нет соединения", mtWarning [mbOk], 0)  
end


 
JohnS   (2005-01-11 14:16) [12]


> ты навреное не понял, в исходники indy лезть не надо, это
> тебе в твоей процедуре/ф-ии (или процедурах/ф-ях) при работе
> с этим компонетом надо использовать предложенную конструкцию,
> как пример:
> try
>  IdFTP.put()
> except
>  on E: EIdConnClosedGracefully do  
>   MessageDlg("Нет соединения", mtWarning [mbOk], 0)  
> end


А Блин , это я не так обьяснил. Просто ошибка возникает при Успешной отработке команды , я просто каждый раз закрываю Мессаджбокс с ошибкой ("Connection Closed Gracefully") и все работает !


 
Семен Сорокин ©   (2005-01-11 14:18) [13]


> JohnS   (11.01.05 14:16) [12]

см. [7] и читаем про Application.OnException



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

Текущий архив: 2005.01.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.036 c
1-1105539322
Mishenka
2005-01-12 17:15
2005.01.23
Как из переменной типа TDateTime извлечь отдельно Time и Date?


14-1103511545
VMcL
2004-12-20 05:59
2005.01.23
Забавные пристрастия программистов VB


1-1103878137
Der Schlangen
2004-12-24 11:48
2005.01.23
TCHART - есть вопросы кто подскажет


1-1105482753
Creating
2005-01-12 01:32
2005.01.23
В каком месте лучшe ставить inherited ? До своего кода, после


14-1104585656
Чеширский_Кот
2005-01-01 16:20
2005.01.23
1 января - самое время ФУТБОЛА!