Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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
14-80125
EAlexander
2004-02-02 17:22
2004.02.25
IE


1-79694
Leksss
2004-02-14 22:00
2004.02.25
Как отловить изменение буфера обмена ? (-)


1-79926
akiro
2004-02-09 17:59
2004.02.25
Как записать в реестр переменную типа tagWINDOWPLACEMENT ?


4-80342
A.l.i.v.e
2003-12-21 08:56
2004.02.25
Получение handl ов контролов для окна (известен хендл)


1-79952
ИМХО
2004-02-13 16:49
2004.02.25
Проблема с использованием StrToDateTime





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский