Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.10.19;
Скачать: [xml.tar.bz2];

Вниз

У кого такое было с pop3. Зависает.   Найти похожие ветки 

 
Den   (2013-10-29 12:38) [0]

Есть код.
procedure TForm1.Button1Click(Sender: TObject);
var
 MsgCount : Integer;
 i        : Integer;
 FMailMessage :  TIdMessage;codses:TSmsFromWm;
 
begin
IdPOP31.Host      := "pop.mail.ru";
IdPOP31.Username  := "user";
IdPOP31.Password  := "pass";
IdPOP31.Port      := 995;
IdPOP31.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(self);
IdPOP31.UseTLS := utUseExplicitTLS;
IdPOP31.ConnectTimeout := 4500;
try
  IdPOP31.Connect();
  MsgCount := IdPOP31.CheckMessages;
  for i:= 0 to MsgCount do   begin
try
   FMailMessage := TIdMessage.Create(nil);
   IdPOP31.Retrieve(i,FMailMessage);
   Memo1.Lines.Add(FMailMessage.Body.Text);
 finally
 FMailMessage.Free;
 end;
end;
finally  
   IdPOP31.Disconnect;
end;
end;
ну в общем обыкновенный код вот такой, по всему инету он лежит, пробовал его на 2ух машинах, на обеих ведет себя одинаково,  при первом нажатии на кнопку, отрабатывает как надо, при повторном, просто зависает и не выдавая никаких сообщений об ошибках так и висит минут 5. Если один раз нажать на кнопу, получить сообщения затем закрыть приложение и снова нажать на кнопку, коннектится нормально, следовательно проблема не с ограничениями со стороны сервера. Что это может быть?


 
Кщд   (2013-10-29 12:43) [1]

>Den   (29.10.13 12:38)
освобождать надо всё, что создали


 
Den   (2013-10-29 12:56) [2]

добавил IdPOP31.IOHandler.free; если вы это имели в виду, ведет себя так же, первый раз нормально, второй и все последующие висит.


 
MBo ©   (2013-10-29 13:31) [3]

Вряд ли это имеет отношение к проблеме, но неаккуратненько как-то:
for i:= 0 to MsgCount - 1


 
Туповатый ©   (2013-10-29 14:13) [4]

добавь еще кнопку, на нее принудительный дисконнект и посмотри.


 
Den   (2013-10-29 14:31) [5]

for i:= 0 to MsgCount - 1 - не вытянет последнее сообщение.
добавь еще кнопку, на нее принудительный дисконнект и посмотри. - не помогает. воще проблему то я решил уже, через tThread убиваю его после каждой проверки и все ок, но всетаки интересно что такое, а да еще, на 110 пору работает без проблем.


 
MBo ©   (2013-10-29 14:48) [6]

>for i:= 0 to MsgCount - 1 - не вытянет последнее сообщение.

т.е. то, что при MsgCount = 2 будет три запроса, не смущает?

Я не исключаю, что нумерация может быть с единицы (не имел дела с инди)


 
Den   (2013-10-29 14:52) [7]

т.е. то, что при MsgCount = 2 будет три запроса, не смущает?

Я не исключаю, что нумерация может быть с единицы (не имел дела с инди)- если честно не вникал, но так вышло что в ящике одно письмо и если по привычке поставить -1 (как я и сделал в начале) то письмо вытянуто не будет.


 
Туповатый ©   (2013-10-29 14:56) [8]


> нумерация может быть с единицы

тогда
> for i:= 1


 
Туповатый ©   (2013-10-29 15:03) [9]

глянул, да, нумерация с единицы, лишний запрос, получается, вот и висит. впрочем, в любом случае необходимо регулировать время, а не убивать сходу.


 
Den   (2013-10-29 15:15) [10]

глянул, да, нумерация с единицы, лишний запрос, получается, вот и висит. - в смысле вот и? а что если for i:= 1 поставить то не висит? у меня висит и так и так, на 2ух компах и на 2ух pop3 серверах разных сервисов. даже больше, если только так оставить
IdPOP31.Host      := "pop.mail.ru";
IdPOP31.Username  := "user";
IdPOP31.Password  := "pass";
IdPOP31.Port      := 995;
IdPOP31.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(self);
IdPOP31.UseTLS := utUseExplicitTLS;
IdPOP31.ConnectTimeout := 4500;
try
 IdPOP31.Connect();
finally  
  IdPOP31.Disconnect;
end;

без вытягивания сообщений, оно все равно зависает.


 
Anatoly Podgoretsky ©   (2013-10-29 15:49) [11]

Теперь обработчик не освобожден.
Странный вообще то код, одни ошибки. Так же и этот код, что например будет в Disconnect если Connect не произошел?


 
Den   (2013-10-29 16:28) [12]

ну это так можно
IdPOP31.IOHandler.free;
if IdPOP31.connected then   IdPOP31.Disconnect;
только проблему оно все равно не решает...



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

Форум: "Начинающим";
Текущий архив: 2014.10.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.002 c
15-1394310602
Юрий
2014-03-09 00:30
2014.10.19
С днем рождения ! 9 марта 2014 воскресенье


11-1231235809
Jon
2009-01-06 12:56
2014.10.19
KOL web sites errors?


8-1235584920
dron9999
2009-02-25 21:02
2014.10.19
помогите с компонентом


15-1394569803
Юрий
2014-03-12 00:30
2014.10.19
С днем рождения ! 12 марта 2014 среда


15-1394277894
turbouser
2014-03-08 15:24
2014.10.19
XE5 up2





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский