TIdPOP3 - Anzahl der mails ist kein integer



  • hi
    ich habe probleme mit der indy pop3 komponente. wenn ich CheckMessages aufrufe bekomm ich von all meinen drei verschiedenen email providern keinen integer als anzahl zurück, sondern sowas wie "Hello ist kein integer...", "orange ist kein integer..." etc.

    was kann ich da machen? ich nutze die aktuellste 9er version von indy.
    die 10er kann ich unter BCB5 nicht installieren und denke kaum das dies dort anderst sein sollte als mit der 9er. gibt es einen weg das hinzu bekommen?
    ich fand keine gleichwertige komponente wie die von indy. TMail2000 oder so, haben meist kein OnConnected" event oder sonst was. ich bräuchte also die indy 😞

    tipps?



  • Wie sieht dein CheckMessages-Aufruf denn genau aus?



  • void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    	IdPOP31->Connect(60000);	
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::IdPOP31Connected(TObject *Sender)
    {
    	int msgcount = IdPOP31->CheckMessages(); //autsch! kein integer als rückgabe wert	
    }
    


  • oh habs. der aufruf darf nicht in dem onconnected event sein. wie soll ich dann lösen? ich müsste drum unmittelbar nach dem ich verbunden bin die anzahl abfragen 😕



  • IdPOP31->Connect();
      if (IdPOP31->Connected())
        Caption = IdPOP31->CheckMessages();
    


  • danek jansen. habe ich mir zwar auch gedacht jedoch glaubte ich immer das sowas immer false ergibt da ich immer dachte das zwar die funktion connect() aufgerufen wird und dann nach aufruf dieser funktion (erledigt egal ob verbunden oder nicht) die if-anweisung aufgerufen wird.

    mir ist schon klar das ein programm zeile für zeile durchlaufen wird, egal ob ein neuer funktions aufruf etc. wenn eine neue funktion zeile für zeile durchlaufen ist, springt es in die aufruf funktion zurück und führt die nächste zeile aus. jedoch meinte ich immer das eben zwar alle zeilen für ein connect durchlaufen wird und dann die if-anweisung aber ohne eine garantie das man wirklich verbunden ist. 🙄 🕶


Anmelden zum Antworten