AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Mail-Check friert mein Programm ein und dauert ewig.
Thema durchsuchen
Ansicht
Themen-Optionen

Mail-Check friert mein Programm ein und dauert ewig.

Ein Thema von prengel · begonnen am 25. Jul 2003 · letzter Beitrag vom 25. Jul 2003
Antwort Antwort
prengel

Registriert seit: 3. Jun 2003
6 Beiträge
 
#1

Mail-Check friert mein Programm ein und dauert ewig.

  Alt 25. Jul 2003, 00:19
Hallo

Ich hab ein kleines Problem mit meinem Delphi-Programm. Ich bin noch eher ein Anfänger, also bitte nicht meckern

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:
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;
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.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Mail-Check friert mein Programm ein und dauert ewig.

  Alt 25. Jul 2003, 10:43
Zitat von prengel:
Würde es helfen die Prozedur in einen extra-Thread zu packen?
Ja. Entweder das oder die Komponente IdAntiFreeze auf die Form packen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
prengel

Registriert seit: 3. Jun 2003
6 Beiträge
 
#3

Re: Mail-Check friert mein Programm ein und dauert ewig.

  Alt 25. Jul 2003, 11:40
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.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Mail-Check friert mein Programm ein und dauert ewig.

  Alt 25. Jul 2003, 11:48
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 http://www.delphi-source.de/ da gibts ein Tutorial über Threads.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
prengel

Registriert seit: 3. Jun 2003
6 Beiträge
 
#5

Re: Mail-Check friert mein Programm ein und dauert ewig.

  Alt 25. Jul 2003, 11:59
Alles klar, danke nochmal!

Ich frag mich nur warum das Forum einen htpp-Link hervorhebt
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Mail-Check friert mein Programm ein und dauert ewig.

  Alt 25. Jul 2003, 12:03
Zitat von prengel:
Ich frag mich nur warum das Forum einen htpp-Link hervorhebt
Ups

Ist aber interessant, dass das tut
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz