![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]а где и как вопрос задается?