Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
1-79708
CAHbI4
2004-02-12 19:08
2004.02.25
Создание Page в PageControl


1-79872
ЧимбаБумба
2004-02-13 20:38
2004.02.25
ShellListView


1-80014
Владислав
2004-02-12 18:49
2004.02.25
Выравнивание данных в памяти


1-79953
Well
2004-02-13 00:20
2004.02.25
Как расположить окно выбора папки по центру экрана?


1-79774
som
2004-02-11 19:30
2004.02.25
Grid с под строками и под столбцами





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