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

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

TIdPOP3 - ошибка [D7]


mfender ©   (2007-08-30 10:39:00) 

на вопрос:

 IdPOP31.Connect;


получаю ошибку: command is not valid in this state

С чем это мжет быть связанно?
Спасибо.


mfender   (2007-08-30 12:04:00) [1]


> логин/пароль неверные

Точно! Я - тормоз. Логин же там пишется в виде имя@сервер, а я, тормоз, одно имя... Спасибо. С этим понятно.

А вот с первым вопросом - ничего не получается.
Очевидно, что-то с настройками сервера не то. Буду пытать админа.

Спасибо.


umbra   (2007-08-30 11:57:00) [2]


> "permission denied"

логин/пароль неверные


Сергей М.   (2007-08-30 11:56:00) [3]

Приведи настройки POP3-клиента в составе, например, Outlook Express для каждой из этих уч.записей ..


mfender   (2007-08-30 11:49:00) [4]


> Видимо, проблемы с авторизацией и SSL

Попробовал к другому серверу подключиться. Картина немного изменилась. Ошибка того же класса с тестом "permission denied". А с этим как бороться?


Сергей М.   (2007-08-30 11:40:00) [5]

Видимо, проблемы с авторизацией и SSL


iXT   (2007-08-30 11:32:00) [6]

> [10] umbra ©   (30.08.07 11:29)

Так ведь портизан :)


umbra   (2007-08-30 11:30:00) [7]


> Результат тот же... Просто порча какая-то.
>

результат будет тот же до тех пор, пока сервер не закроет соединение, которое Вы открыли когда-то.


umbra   (2007-08-30 11:29:00) [8]


> Только это не защитит его от второго нажатия

если клиент в первичном потоке и антифриза нет, то должно бы. Сокеты то синхронные.


iXT   (2007-08-30 11:26:00) [9]

> [8] mfender ©   (30.08.07 11:25)

Почему Connect(30)?

> Но лучше всего делать так, как показано в [4]

Только это не защитит его от второго нажатия


mfender   (2007-08-30 11:25:00) [10]

Я сделал уже:

procedure TForm1.Button1Click(Sender: TObject);
begin
 try
   try
     IdPOP31.Connect(30);
   finally
     IdPOP31.Disconnect;
   end;
 except
   on E: Exception do
     Memo1.Lines.Add(E.Message);
 end;
end;


Результат тот же... Просто порча какая-то.


umbra   (2007-08-30 11:22:00) [11]


> EIdProtocolReplyError
>

Это ответ сервера. Скорее всего, вы нажали кнопку второй раз, не разрывая первого соединения. РОР3 сервера обычно не позволяют нескольких одновременных коннектов одного пользователя.

Попробуйте изменить код вот так:

procedure TForm1.Button1Click(Sender: TObject);
begin
if not IdPOP31.Connected then
   IdPOP31.Connect;
end;



Но лучше всего делать так, как показано в [4]


mfender   (2007-08-30 11:12:00) [12]


> а тип исключения какой?

EIdProtocolReplyError


umbra   (2007-08-30 11:08:00) [13]

а тип исключения какой?


iXT   (2007-08-30 11:02:00) [14]

try
 Connect;
...
finally
 Disconnect;
end;


mfender   (2007-08-30 10:53:00) [15]


> а где и как вопрос задается?


procedure TForm1.Button1Click(Sender: TObject);
begin
 IdPOP31.Connect;
end;



> Поди антифриз есть на форме и коннект по таймеру выполняется
> ?


Что такое антифриз?
Коннект по клику на кнопку.


Сергей М.   (2007-08-30 10:48:00) [16]

Поди антифриз есть на форме и коннект по таймеру выполняется ?


umbra   (2007-08-30 10:43:00) [17]

а где и как вопрос задается?


Наверх

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