Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Problem mit POP-Indy (https://www.delphipraxis.net/15555-problem-mit-pop-indy.html)

cchris 30. Jan 2004 19:24


Problem mit POP-Indy
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Ich erhalte bei folgendem Quellcode immer eine Exception:
Delphi-Quellcode:
procedure TForm1.Btn1Click(Sender: TObject);
begin
POP.Host:='******************';
POP.Username:='************';
POP.Password:='*************';
POP.Port:=110;
if not POP.Connected then
        POP.Connect(9000)
                 else
        POP.Disconnect;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if POP.Connected then
                 begin
                 ChkCon.Checked:=true;
                 btn1.caption:='Disconnect';
                 end
                 else
                 begin
                 ChkCon.Checked:=false;
                 Btn1.caption:='Connect';
                 end;
end;

procedure TForm1.Btn2Click(Sender: TObject);
var num:longint;
    msg:TIdMessage;
begin
msg.Clear;
num:=POP.CheckMessages;
POP.Retrieve(num,msg)

end;
Als Name und Host und PW hab ich natürlich gültige eingetragen, blos will ich die hier nicht zeigen (ach was) :wink:

Connecten tut er sich noch ordentlich, allerdings wird in der Zeile mit msg.clear oder falls ich diese auskommentiere in der Retrive Zeile Folgender Fehler auf: ----> unten

Ich hab auch versucht die Clear Anweisung durch

Delphi-Quellcode:
msg.Create(NIL);
zu ersetzen, auch dann kommt es zu diesem Fehler.

Vielleicht ist es wichtig, das Delphi "unten" anzeigt, msg ist eventuell nicht Initialisiert.

kann mir jemand helfen?

cu Chris

Mario 9. Feb 2004 19:51

Re: Problem mit POP-Indy
 
Delphi-Quellcode:
procedure TForm1.Btn2Click(Sender: TObject);
var num:longint;
    msg:TIdMessage;
begin
msg := TIdMessage.Create(NIL);
msg.Clear;
num:=POP.CheckMessages;
// das nur machen, wenn auch Messages drauf sind
// rufst Du hier alle auf einmal oder nur eine
// ab und wenn ja, welche?
POP.Retrieve(num,msg)
// hier Message verarbeiten
msg.Free; // sonst Speicherleck
end;
Ich habe Dir mal das fehlende reingemacht. Dann könnte es gehen, aber getestet habe ich es jetzt nicht. Dir fehlte erst mal nur das Erstellen des Objektes...


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