Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2010, 14:25   #1
tozter
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 16
По умолчанию [Delphi7] Действие программы при не возможности отправить почту.

Программа отправялет на почту текст и файл.
Если наблюдаются какие-либо трудности с подключением к почтовому серверу то программа падает.

Код:
IdSMTP1.Connect;
if IdSMTP1.Connected then IdSMTP1.Send(msg);  <----падает тут
IdSMTP1.Disconnect;
Как избежать падения программы при не возможности отправить почту?

Я правильно понял смысл этого кода if IdSMTP1.Connected ? -> Если соединение устанволенно, то все ок, продолжаем работать.
tozter вне форума Ответить с цитированием
Старый 20.12.2010, 14:26   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

try except end не проходили?
если нет то стоит пройти(исключения тема называется)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.12.2010, 14:35   #3
tozter
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 16
По умолчанию

Код будет выглядить так:

Код:
try
<много всего>
IdSMTP1.Connect;
if IdSMTP1.Connected then IdSMTP1.Send(msg);
IdSMTP1.Disconnect;
except
ShowMessage('Сервер не доступен');
IdSMTP1.Disconnect;

end;
?
tozter вне форума Ответить с цитированием
Старый 20.12.2010, 14:42   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в общем да.(правда помните что отладчик показывает исключения по умолчанию)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.12.2010, 15:17   #5
tozter
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 16
По умолчанию

Не пойму.... сделал как в выше означеном коде, ошибка всервно выскакивает и программа падает...
tozter вне форума Ответить с цитированием
Старый 20.12.2010, 19:36   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

под отладчиком?
а вне отладчика запустите.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.12.2010, 23:25   #7
tozter
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
под отладчиком?
а вне отладчика запустите.

В отладчике - это в самой оболочке, в которой программу делаю?
Если да , в отладчике не проверял, а проверял сразу на другом компьютере.

Если в мент отсылки письма отключить интернет, то программа падает с ошибкой: socket Error 10054
tozter вне форума Ответить с цитированием
Старый 21.12.2010, 15:01   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

которая версия инДи?
стандартная от семерки?(девятая ИнДи)
если да то обновляйте, в ней есть такое что она сама показывает ошибки и плюет на обработку исключений(у меня такое с idHTTP было)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi7 поле Memo, если изменилось - выполнить действие bad_patefa Помощь студентам 2 15.09.2010 16:15
Как программным способом отправить картинку по почте? Delphi7 Dalagardi Помощь студентам 2 10.05.2010 14:00
Как отправить почту из папки автоматом? transkriptsiya Работа с сетью в Delphi 0 20.01.2010 17:35
Delphi7 Действие на сочетание клавиш AlexandЯ Помощь студентам 1 10.07.2009 11:46
Действие при простои программы Volkogriz Общие вопросы Delphi 4 26.11.2008 13:35