Форум: "Сети";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
ВнизDelphi 7 idpop3 Найти похожие ветки
← →
Alex-11111 (2003-12-19 04:15) [0]При попытки получить почту программа виснит. Вот её код:
statusbar1.Panels[0].Text:="Соединение с сервером";
pop.Username:="alex-drob";
pop.Password:=
pop.Host:="pop.mail.ru";
pop.Connect(-1);
statusbar1.Panels[0].Text:="Проверка";
statusbar1.Panels[0].Text:=inttostr(pop.CheckMessages);
M:=TIdMessage.Create(Form1);
pop.ProcessMessage(m);
memo1.Lines:=m.Body;
pop.Disconnect;
не реагирует не на что пока подключается к серверу и окончательно виснит во время загрузки почты.
← →
Digitman (2003-12-19 08:55) [1]либо выноси исполнение алгоритма в доп.код.поток либо пользуй IdAntifreeze
← →
Alex-11111 (2003-12-19 11:53) [2]Как это сделать, не понял?
← →
Digitman (2003-12-19 12:02) [3]что "как" ? конкретно ? в рекомендации же фигурирует "либо ... либо .." !
← →
Alex-11111 (2003-12-19 12:13) [4]исполнение алгоритма в доп.код.поток
← →
Amoeba (2003-12-19 12:43) [5]> Alex-11111 (19.12.03 12:13) [4]
> исполнение алгоритма в доп.код.поток
Значит придется засесть за серьезный учебник и разобраться с тем, что есть потоки и зачем их используют
← →
dDan (2003-12-19 12:47) [6]А вообщето с delphi идут примеры по работе с инди и там вроже есть работа с ПОП3 только вот вроде в 7 их нету придеться качать
← →
Alex-11111 (2003-12-19 12:53) [7]С помощью IdAntifreeze не виснет, но стоит на строчке
pop.ProcessMessage(m);
← →
Alex-11111 (2003-12-19 12:56) [8]Где скачать примеры?
← →
Digitman (2003-12-19 13:50) [9]
constructor TMyPOP3Request.Create(AUser, APwd, AHost: String; APort: Integer = 110);
begin
inherited Create(True);
FHost := AHost;
FPort := APort;
FUsername := AUser;
FPassword := APwd;
Resume;
end;
destructor TMyPOP3Request.Destroy;
begin
FMsgs.Free;
inherited;
end;
procedure TMyPOP3Request.DoLog;
begin
frmMain.MemoD.Lines.Add(FLogText);
end;
procedure TMyPOP3Request.Execute;
var
i, n: Integer;
AMsg: TIdMessage;
begin
try
FPOP3 := TIdPOP3.Create(nil);
with FPOP3 do
try
UserId:= FUsername;
Password:= FPassword;
Host:= FHost;
Port := FPort;
LogMessage("
← →
Alex-11111 (2003-12-19 14:44) [10]Спосибо за код, но как им пользоватся. Как описать
TMyPOP3Request
И куда вписать этот код?
← →
Digitman (2003-12-19 14:58) [11]
type
TMyPOP3Request = class(TThread)
private
FPOP3: TIdPOP3;
FHost, FUsername, FPassword, FLogText: String;
FMsgs: TStrings;
FPort, FMsgNo, FMsgCnt: Integer;
procedure DoLog;
protected
procedure LogMessage(const LogText: String);
procedure Execute; override;
public
constructor Create(AUser, APwd, AHost: String; APort: Integer = 110);
destructor Destroy; override;
end;
неужто так сложно догадаться ?)
← →
Alex-11111 (2003-12-19 15:43) [12]Спасибо, работает. Но почту не принемает. Показывает количество сообщений, а потом проходит какоето время и пишет что соединение разорвано. Отправлять пробовал, получается и простое письмо и с прекреплённым файлом.
← →
Digitman (2003-12-19 15:47) [13]читай док-цию к объекту класса TIdPOP3, разбирайся ...
а на твой вопрос - как реализовать обращение к POP3-серверу в доп.код.потоке средствами Indy - я ответил полностью
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.03 c