Witam,
mam kłopot przy pobieraniu e-maila w wątku. A więc mam taki oto kod:
type
TSprawdzaj = class (TThread)
ile:integer;
idMessage: TidMessage;
idPOP3: TIdPOP3;
protected
procedure execute; overload;
procedure aktualizuj;
end;
procedure TSprawdzaj.execute;
var
i: integer;
begin
FreeOnTerminate := true;
while not terminated do
begin
try
idmessage := tidmessage.Create(nil);
idpop3 := Tidpop3.Create(nil);
IdPOP3.Host := 'poczta.interia.pl'; //adres serweru pocztowego
IdPOP3.Port := 110; //numer portu hosta przeznaczony na pop3
IdPOP3.Username := '[email protected]'; //nazwa konta pocztowego
IdPOP3.Password := 'mojehaslo'; // haslo do konta
IdPOP3.Connect; // otwieramy polaczenie
ile := IdPOP3.CheckMessages; //CheckMessages pokazuje ile jest wiadomosci w skrzynce
for i:=1 to ile do // kolejno pobieramy wiadomosci
begin
IdPOP3.Retrieve(i,IDMessage); //pobierz wiadomosc, widadomosc jest przysylana do konmponetu IdMessage1;
synchronize(aktualizuj);
IdPop3.Delete(i); //usun wiadomosc
IdMessage.Clear; //wyczysc zawartosc IdMessage1
IdPOP3.Retrieve(i,IDMessage);
IdMessage.Clear;
end;
IdPOP3.Disconnect; //rozlacz
idpop3.Free;
idmessage.Free;
except
on exception do
end;
sleep(10000);//10 sekund
end;
end;
procedure TSprawdzaj.aktualizuj;
begin
glowna.memo1.Lines.Append('=========================================================================================================================');
glowna.memo1.Lines.Append('* ' + idmessage.Subject);
glowna.memo1.Lines.Append('-------------------------------------------------------------------------------------------------------------------------');
glowna.memo1.Lines.Append('');
glowna.memo1.Text:= glowna.memo1.Text+IDMessage.Body.Text;
glowna.memo1.Lines.Append('*************************************************************************************************************************');
glowna.memo1.Lines.Append('');
glowna.memo1.Lines.Append('');
glowna.memo1.Lines.Append('');
end;
procedure TGlowna.Button1Click(Sender: TObject);
begin
Sprawdzaj := TSprawdzaj.Create(false);
end;
Problem w tym, ze przy kliknieciu przycisku ktory powinien uruchomic watek, program nie pobiera e-maili. Natomiast jak potrzebne instrukcje pobierania e-maili wpisałam do Button1 to emaile zostały pobrane bez problemu. Z tym ze oczywiscie na czas pobierania e-maili program "zastygł". Probowalam sledzic kod debuggerem, ale przy rozpoczynaniu watku wywala mi blad krytyczny. Co robie nie tak?
Pozdrawiam!