Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy 10 - Fehler bei Bereichsprüfung? (https://www.delphipraxis.net/98624-indy-10-fehler-bei-bereichspruefung.html)

Angel4585 30. Aug 2007 07:09


Indy 10 - Fehler bei Bereichsprüfung?
 
Hallo,

ich hole in einem Dienst per TIdPOP3 Kompo Mails von einem EMailkonto ab.
Bisher hat das wunderbar funktioniert, momentan bekomme ich aber bei der "Retrieve" Methode den Fehler "Fehler bei der Bereichsprüfung".
Kennt den jemand?

Angel4585 30. Aug 2007 07:34

Re: Indy 10 - Fehler bei Bereichsprüfung?
 
Seltsam ist:

Der Dienst läuft unter WinXP und verursacht den Fehler.
Wenn ich den gleichen Code in nem "normalen" Programm unter Vista ausführe holt der ohne zu murren die mails ab und bringt keinen Fehler :wall:

Thomas Horstmann 30. Aug 2007 09:17

Re: Indy 10 - Fehler bei Bereichsprüfung?
 
Hallo,
Indy10 hat leider an vielen Stellen "kleine Fehler", die einem das leben schwer machen. Daher würde ich mich über dieser Fehler nicht wundern. Das Abrufen von E-Mails klappte bei mir bislang aber problemlos. Mir ist aufgefallen, dass es oft Probleme mit der IdMessage Komponenten und Clear gibt. Besser mit Create und Free arbeiten.

Hoffe es hilft
Tom

Delphi-Quellcode:
...
with IdPOP do
  begin
  { Timeout setzen }
  ConnectTimeout := 10000 ;
  { Ggf. noch angemeldet, abmelden }
  if Connected then Disconnect ;

  { Parameter }
  Host    := gMailPOPSER ;
  Port    := gMailPOPPOR ;
  Username := gMailUSRNAM ;
  Password := gMailPASWRD ;

  { Anmelden }
    try
    Connect ;
    except
    on e:exception do
      begin
      { Abbrechen }
      Exit ;
      end ; // on e:exception
    end ; // try

  { Anzahl holen }
  iMailCount := CheckMessages ;

  { Schleife }
  for iLoop := 1 to iMailCount do
    begin
    { Speichern }
    SaveMailToFile(iLoop) ;
    end ; // for iLoop
  { Abmelden }
  Disconnect ;
  end ; // with IdPOP
...

--------------------

procedure TUN_MailLocal_Form.SaveMailToFile
( iMessageNumber : Integer ) ;
var
iMessage : TIdMessage ;
iFileName : String ;
begin
{ Message anlegen }
iMessage         := TIdMessage.Create(Self) ;
iMessage.NoDecode := TRUE ;
iMessage.NoEncode := TRUE ;
iMessage.Clear ;
{ Abrufen }
IdPOP.Retrieve(iMessageNumber,iMessage) ;
{ Datei }
iFileName := 'C:\Temp\' + GetGUID + '.eml' ;
{ In Datei speichern }
iMessage.SaveToFile(iFileName,FALSE) ;
{ Vom Server löschen }
IdPOP.Delete(iMessageNumber) ;
{ Löschen }
iMessage.Free ;
end ;

Angel4585 30. Aug 2007 09:40

Re: Indy 10 - Fehler bei Bereichsprüfung?
 
Hab das einzige Clear das da war rausgenommen.. aber funzt trotzdem nicht :(
Ausserdem tritt der Fehler definitiv bei dem TIdPop3.Retrieve auf


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 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