Umstieg von FastNet zu Indy = Probs



  • ok habs jetzt so

    IdPOP31->Retrieve( IdPOP31->CheckMessages(), Message);
    

    Compiliert auch, aber läd immer noch nur eine Email runter



  • Ich gehe davon aus, dass du die Nachrichten nacheinander "retrieven" musst. Üblicherweise per Schleife, den Zähler (d.h. die Anzahl der Nachrichten) bekommst du ja über CheckMessages.



  • jo logisch.
    leider hab ichs heut net mit der logik, produziere nur endlosschleifen.
    hoffenltich heuts morgen hin

    do
        {
            ListView1->SelectAll();
            TListItem *InsertItem =
            ListView1->Items->Insert(ListView1->Selected->Index +1);
    
            InsertItem->Caption = Message->From->Text;
            InsertItem->SubItems->Add(Message->Subject);
        }
        while(POP3->Retrieve(POP3->CheckMessages(), Message));
    

    Frohe Weihnachten



  • int mcount = POP3->CheckMessages();
    for (int i = 0; i < mcount; i++)
    {
      POP3->Retrieve(i, Message);
      ...
    }
    


  • ok dein wink mit dem zaunpfal war schon mal gut denk ich. denoch wird immer noch nur eine mail runter geladen

    POP3->Connect();
        POP3->CheckMessages();
        POP3->RetrieveMailBoxSize();
        ListView1->SelectAll();
        int mcount = POP3->CheckMessages();
        for(int i = 0; i < mcount ; i++)
        {
            POP3->Retrieve(i, Message);
    
            TListItem *InsertItem =
            ListView1->Items->Insert(ListView1->Selected->Index +i);
    
            InsertItem->Caption = Message->From->Text;
            InsertItem->SubItems->Add(Message->Subject);
        }
    
        POP3->Disconnect();
    

    kannst mir gerne mit dem zaunpfahl schlagen *g*



  • PS: manchmal wir die selbe mail doppelt angezeigt 😕



  • Habe jetzt und die nächsten Tage keine Zeit, das zu testen, deshalb zumindest der Hinweis auf die Beipielprojekte, die du auf der Indy-Downloadseite findest. Dort gibt es auch mehrere Mail-Clients, und ja, der BCB kann Pascal-Dateien anzeigen.

    FF



  • das ist mir bekannt, die hab ich runtergeladen. naja werd ich sie mir nochmal anschauen, vielleicht ha ich was über sehen.



  • Nachdem abholen und ausgeben der Daten mußt Du ein

    Msg->Clear();
    

    einfügen, dann geht es einwandfrei.

    Mfg und Frohe Weihnachten wünscht allen
    Andidreas



  • ne sorry geht auch nciht. könnte das an der indy Version 8 liegen?
    verstehs net mehr 😕



  • Weiß ich nicht hab mir vorhin die 9x runtergeladen.
    So siehts bei mir aus:

    pop->Connect(0);
     int NumMessages = pop->CheckMessages();
     for (; NumMessages > 0; NumMessages--)
         {
         pop->Retrieve(NumMessages, Msg);
         Memo1->Lines->Add(Msg->From->Text + " " + Msg->Subject);
         Msg->Clear();
         }
     pop->Disconnect();
    


  • ne also das funzt absolut garnet bei mir.
    erster fehler ist bei

    pop->Connect(0);
    

    wegen der 0, wenn ich die raus mache gehts dann kommt aber eine Fehlermeldung, irgendwas mit Gracefully disconnectet...

    ist doch kacke 😞



  • Wenn ich die 0 nicht setze meckert er über zuwenige Parameter. Aber wie gesagt ich hab die 9er Version. Solltest Du Dir vielleicht auch mal runterladen.

    Andidreas



  • Nö, das ist keine Fehlermeldung, nur ne Exception. Versuch doch mal "Gracefully disconnected" zu übersetzen! Dann merkst du, es ist alles ok.



  • wieso beendet er das programm wenn alles ok ist?
    bei mir gehts net mit 0, mekert es wären zu viele parameter.

    indy 9 runtergeladen, installation peil ich net..war ja klar



  • so habs hinbekommen!!!

    POP3->Connect();
        POP3->CheckMessages();
        POP3->RetrieveMailBoxSize();
    
        int mcount = POP3->CheckMessages();
        if(mcount > 0)
        {
        for (; mcount > 0; mcount--)
        {
            POP3->Retrieve(mcount, Message);
    
            TListItem *InsertItem =
            ListView1->Items->Add();
    
            InsertItem->Caption = Message->From->Text;
            InsertItem->SubItems->Add(Message->Subject);
            InsertItem->SubItems->Add(Message->Date);
            Message->Clear();
        }
        }
    
        POP3->Disconnect();
    


  • Hi

    Du kannst unter Menüpunkt Tools->Debugger Options->Language Exceptions->Add EIdConnClosedGracefully einfügen, damit die IDE nicht mehr auf diese Exception reagiert, abfangen kannst du sie weiterhin mit try/catch.

    mfg pera



  • danke, ist aber nicht mehr nötig da es ja jetzt wunderbar klappt!



  • Welche BCB-Version benutzt Du? Wenn BCB 6 dann mußt Du bevor Du Indy 9 einbindest die im BCB 6 vorhandene Indy Version deinstallieren (über Setup CD). Dann kansst Du die neue Version einbinden. Im Verzeichnispfad muß Indy vor RTL stehen, sonst gibt es Probleme.

    Mfg und Guten Rutsch
    Andidreas



  • Danke für den hinweiß, werd ich irgendwann mal probieren. Funzt ja jetzt mit der alten Version, also lass ichs erstmal 🙂

    ebenfalls guten rutsch!


Anmelden zum Antworten