![]() |
Mail-Check friert mein Programm ein und dauert ewig.
Hallo
Ich hab ein kleines Problem mit meinem Delphi-Programm. Ich bin noch eher ein Anfänger, also bitte nicht meckern :angle2: Es geht um folgendes: Ich habe ein Programm, dass in regelmäßigen Abständen ein Mail-Konto abfragt und die Mails nach einem Suchwort durchsucht. Da ich leider nicht weiß wie ich nur die neuen Mails checken kann werden jedesmal alle Mails auf dem Server überprüft. Dabei tauchen zwei Probleme auf. Erstens dauert die ganze Aktion ziemlich lange (zwischen 30 secs und 1min 30sec), zweitens hängt mein Programm dabei komplett. Würde es helfen die Prozedur in einen extra-Thread zu packen? Ich zeig euch mal den Quelltext (hab die uninteressanten sachen rausgenommen):
Code:
Also nochmal, mir geht es darum dass die ganze Sache schneller abläuft und vor allem mein Programm dabei noch bedienbar bleibt. Ich hoffe ihr könnt mir da nen Tipp geben.
try
IdPOP31.Connect; for x:=IDPOP31.CheckMessages downto 1 do begin IdMessage1.Clear; IdPOP31.RetrieveHeader(x, IdMessage1); absender:=IdMessage1.From.Address; if absender='bla@bla.com' then begin IdPOP31.Retrieve(x, IdMessage1); if (pos(suchwort, IDMessage1.Body.Text)>0) then inc(mails); end; end; except on EIdProtocolReplyError do showmessage('Verbindung fehlgeschlagen!'); end; IdPop31.Disconnect; |
Re: Mail-Check friert mein Programm ein und dauert ewig.
Zitat:
|
Re: Mail-Check friert mein Programm ein und dauert ewig.
OK, das ist schonmal nicht schlecht. Allerdings reagiert das Programm während der Abfrage immer noch nicht 100%ig normal. Z.B. werden Buttons beim Klick nicht eingedrückt. Würde das mit einem Thread besser gehen?
Ich frag nur weil ich absolut keine Ahnung von Threads habe und mich erstmal auch nur damit beschäftigen will, wenn es mir was bringt. |
Re: Mail-Check friert mein Programm ein und dauert ewig.
Ich weiß nicht genau, wie die AntiFreeze-Kompo funktioniert, also ob sie einen seperaten Thread erstellt oder was auch immer.
Erstellst du selbst den Thread, dann hast du einen Thread für dein Fenster und einen für das Mail-Abbholen. Egal, wie lang das Mail-Abholen dauert, dein Fenster sollte ganz normal reagieren. Geh mal auf ![]() |
Re: Mail-Check friert mein Programm ein und dauert ewig.
Alles klar, danke nochmal!
Ich frag mich nur warum das Forum einen htpp-Link hervorhebt :) |
Re: Mail-Check friert mein Programm ein und dauert ewig.
Zitat:
Ist aber interessant, dass das tut :shock: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz