Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите разобраться ! ;-) [D5, WinXP]


SemFLY ©   (2002-07-12 13:52:00) 

Проблема в том, что я пытаюсь обработать наиболее частые ошибки при подсоединение к SMTP серверу, но всёравно выскакивает ошибка SocketError, хотя она у меня обработана.
В чём тут дело ?
Компаненты использую INDY.


begin
Msg1.From := "Test";
Msg1.Too.Add("test@test.ru");
Msg1.Subject := "<-<-< Subject Email >->->";
try
SMTP1.Connect;
If SMTP1.Connected then SMTP1.Send(msg1);
except
on ESocketError do
begin
SMTP1.Disconnect;
end;
on EWinshoeAlreadyConnected do
begin
SMTP1.Disconnect;
end;
on EWinshoeResponseError do
begin
SMTP1.Disconnect;
end;
on EWinshoeTimedOut do
begin
SMTP1.Disconnect;
end;
end;


Спасибо ! :)


SemFLY   (2002-07-12 18:15:00) [1]

Ошибка : SocketError
Обрабатывается тут

try
SMTP1.Connect;
If SMTP1.Connected then SMTP1.Send(msg1);
except
on ESocketError do
begin
SMTP1.Disconnect;
end;


Digitman   (2002-07-12 15:58:00) [2]

Ладно, понятно) ...

Какая ошибка-то возникает ? Конкретно ?
Ты говоришь "она у меня обработана" ... Где ? В какой конкретно строчке ? В какой момент времени и при каких условиях эта строчка получает управление ?


SemFLY   (2002-07-12 15:05:00) [3]

Синхронно ? Я не очень понял, а с чем ?
Вроде же так работает:
Если соединение удачно, то отправить письмо, если нет то обработать ошибку.
Такой же вроде принцип.

*************************************************************

Вот из Helpa.
===========================
Для Connect.

Applies to
TWinshoeSMTP
Declaration

ProcedureConnect;

-------------------
Для Conected.

Applies to
TWinshoe
Declaration

FunctionConnected: Boolean;
Description
True if the socket is currenly connected, or false if not.

=============================================
P.S. Я извеняюсь, это компанент Winshoes ;)




Digitman   (2002-07-12 14:28:00) [4]

Я не в курсе насчет Indy, но ...

Вот это :
SMTP1.Connect;

на основании чего ты подразумеваешь, что Connect - метод, выполняющийся синхронно ?
Приведи , пожалуйста, фрагмент хэлпа или док-ции, где сказано, что при таких-то опциональных условиях метод выполняется синхронно и генерирует ожидаемые тобой исключения ...


Наверх

Титульная страница Поиск, карта сайта Написать письмо