Umstieg von FastNet zu Indy = Probs
-
Moin,
da ich Indy Newbie bin (heute angefangen damit rum zu spielen) ist das ne Wissenschaft für sich für mich

Also ich will von einem POP3 meine Emails abholen, will aber partu nicht funktionieren.IdPOP31->Connect(); IdPOP31->CheckMessages(); IdPOP31->RetrieveMailBoxSize(); ListView1->SelectAll(); TListItem *InsertItem = ListView1->Items->Insert(ListView1->Selected->Index +1); InsertItem->Caption = IdMessage1->From->Text; InsertItem->SubItems->Add(IdMessage1->Subject);Scheinbar passiert nichts. keine fehlermeldung, keine emails, nichts *g*
Connectet ist das Programm, hab ich schon getestet.
Da ich durch suchen im Netz und hier im forum keine antwort gefunden hab muss ich jetzt halt fragen. Was ist da los?Hoffe es erbarmt sich einer mir zu helfen

Carpe Noctem
Toadie
-
Du hast doch noch gar keine Nachrichten abgeholt (Retrieve)!?
-
ups okay hab das jetzt so gemacht
[cpp]
IdPOP31->Connect();
IdPOP31->CheckMessages();
IdPOP31->RetrieveMailBoxSize();
IdPOP31->Retrieve(1, Message);
ListView1->SelectAll();
TListItem *InsertItem =
ListView1->Items->Insert(ListView1->Selected->Index +1);InsertItem->Caption = IdMessage1->From->Text;
InsertItem->SubItems->Add(IdMessage1->Subject);[/cpp]allerdings läd der nur eine email runter obwohl mehr aufem server sind, liegt das an der 1 und wen ja wie änder ich das?
-
Hi
Nur so ein Gedanke:
IdPOP31->Retrieve( IdPOP31->CheckMessages, Message); //oder vieleicht while (IdPOP31->Retrieve( 1, Message)) { ... }mfg pera
-
geh nicht, kommen diese 2 Meldungen
[C++ Error] Unit1.cpp(23): E2034 Cannot convert 'int (_fastcall * (_closure )())()' to 'int'
[C++ Error] Unit1.cpp(23): E2342 Type mismatch in parameter 'MsgNum' (wanted 'const int', got 'void')
das mit while hab ich nicht getest weil ich nicht genau weiß worauf du hinauswillst.
ich renn heute wohl mit einem brett vorm kopf rum
-
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 hindo { 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 beipop->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