(Indy -Compo) TIdPOP3 ->CheckMessages = ERROR ??



  • Hi ihr...

    ich habe mir mal die Indy.Komponenten installiert und will ein kleines
    Test-Mail-Prog schreiben. Dazu benutze ich die TIdPOP3 - Komponente.

    Funktionsweise:
    1. Bei ButtonClick Verbindung aufbauen
    2. Anzahl der neuen Mails abrufen /* Hier tritt der Fehler auf */
    3. Auf ButtonClick Verbindung abbauen

    Nun ein Stück meines einfachen Codes:

    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      POP->Connect(ciTimeOut);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::POPConnected(TObject *Sender)
    {
      int iMsgCnt;
      Memo->Lines->Add("Verbindung hergestellt");
      iMsgCnt = POP->CheckMessages(); /* hier tritt der Fehler auf */
      Memo->Lines->Add((String)iMsgCnt + " Nachrichten vorhanden");
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::POPDisconnected(TObject *Sender)
    {
      Memo->Lines->Add("Disconnected");
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
      POP->Disconnect();
    }
    //---------------------------------------------------------------------------
    

    Beim ausführen der Funktion CheckMessages() tritt der Fehler auf und eine
    Fehlermeldung erscheint; "... POP3 ist kein gültiger Integer-Wert... "

    Wenn ich meine web.de - Adresse abrufe (pop.web.de) dann kommt die Fehler-
    meldung: "... WEB.DE ist kein gültiger Integer-Wert... "

    Die Frage ist nun: Was stimmt hier nicht? CheckMessages() sollte einen Int
    Wert zurückgeben, aber es scheint als ob innerhalb der Funktion dieser
    Fehler auftritt.

    Hat jemand das gleich Problem schon mal gehabt und vielleicht ne Lösung gefunden?

    Danke und MfG
    Hevel



  • Habe im Moment keine Zeit, das zu testen, aber hast du dir schon mal die Beipiele aus dem Indy-Demopaket angesehen? Evtl. sind ja noch zusätzliche Schritte/Einstellungen notwendig.



  • Hallo Jansen...

    ja... hab grad mal reingeäugelt... die haben das genauso gemacht.

    POP->Connect(ciTimeOut);
    POP->CheckMessages();
    POP->Disconnect();

    ... keine weiteren Schritte oder Einstellungen...

    MfG
    Hevel



  • Hi!

    Ich kenne die Indy's zwar nicht, aber : an was übergibst du deine Addresse??
    musst du da evtl eine Funktion aus der Kategorie ResolveIPAdress(SERVER_NAME) aufrufen?

    Ist nur so ein Ansatz.

    MfG



  • Hab's grad getestet und es funktioniert hier problemlos. Allerdings benutze ich v9.00.10, da scheint sich doch einiges geändert zu haben. Connect erwartet zB. keine Parameter mehr, dafür gibt es eine ReadTimeout-Property.

    IdPOP31->Connect();
      if (IdPOP31->Connected())
      {
        Caption = IdPOP31->CheckMessages();
        IdPOP31->Disconnect();
      }
    


  • Danke.. Jansen..

    ich hab Verison 9.0.4 beta .. (aus der Readme.txt entnommen...)

    ich werd die Tage mal eine andere version saugen und ausprobieren..
    hab bei mir nicht hinbekommen...

    mal schaun...

    Danke..

    MfG
    Hevel..


Log in to reply