Autor Beitrag
Erzengel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 99

Win 2000, WinXP
Delphi 5 Enterprise
BeitragVerfasst: Mo 03.05.04 09:38 
Also poste mal den Quelltext.
Das Problem. Wenn ich ganz viele Mail abhole will hollt er mir nur 5 oder 4 ab. Wenn es aber nur 2-3 Mails (die abzuholen sind)sind habe ich keine Probleme.



ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
procedure TForm1.Button4Click(Sender: TObject);

var
i: Integer;

begin


    StatusBar1.SimpleText := 'Verbindung wird aufgebaut Bitte warten';
    NMPOP32.Host := form2.Edit3.Text;
    NMPOP32.UserID := form2.Edit2.Text;
    NMPOP32.Password := form2.Edit4.Text;
    NMPOP32.Connect;

 if NMPOP32.Connected = true then
   StatusBar1.SimpleText :=' Nachrichten werden in die ELO-Postbox übertragen';


 for i:= 1 to NMPOP32.MailCount do begin
  NMPOP32.GetMailMessage(i);
 end;
  NMPOP32.Disconnect;


  if NMPOP32.Connected = false then
     if i > 100 then
     StatusBar1.SimpleText :=' Es sind keine Nachrichten vorhanden'
     else
         if i = 1 then
         StatusBar1.SimpleText:= ' ' + inttostr(i-1)+' Nachricht wurde in die ELO-Postbox übertragen'
         else
         StatusBar1.SimpleText:= ' ' + inttostr(i-1)+' Nachrichten wurden in die ELO-Postbox übertragen';
  end;

_________________
Ein Kreis ist ein rundes Quadrat
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Di 04.05.04 21:05 
Servus!

Hab zwar keinen Plan von der Komponente, allerdings gehe ich mal davon aus, das NMPOP32.MailCount ausgibt wieviele Mails im Postfach liegen und noch nicht abgeholt wurden.

Dein Fehler müsste wohl offensichtlich in dem Bereich liegen, in dem die Mails abgeholt werden. Also hier:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
if NMPOP32.Connected = true then 
   StatusBar1.SimpleText :=' Nachrichten werden in die ELO-Postbox übertragen'; 


 for i:= 1 to NMPOP32.MailCount do begin 
  NMPOP32.GetMailMessage(i); 
 end; 
  NMPOP32.Disconnect;


Wenn ich mit sowas nicht weiterkomme, schreibe ich einfach den Bereich neu, auf einem anderem Weg. Wie schon gesagt, ich hab jetzt keinen Plan von der Materie, aber im Grunde müsste das auch so funktionieren:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
var
 mails : integer;

begin
try
begin  
mails := NMPOP32.MailCount;
  if mails = 0 then
    begin
      showmessage('Keine Mails vorhanden');
    end
       else
          begin
             while mails = 0 do 
               begin
                  mails := mails -1;
                  NMPOP32.GetMailMessage(mails);
               end; //von hier an kannste ja alleine weiterschreiben.
        
finally
  nmpop32.disconnect;


Also wenn ich hier jetzt absoluten Müll geschrieben habe tuts mir leid, aber wenn das Prinzip der Komponente so funktioniert wie es glaube dann müsste das auch so gehen. Der Code ist aus dem Kopf geschrieben, du musst also mit sicherheit noch ein paar Feinarbeiten leisten. Sollte ja auch nur ein Beispiel sein.