![]() |
Checklistbox/Pop3 - Error Message ?
nabend,
also folgendes. schreib grad etwas an einem kleinem mail tool und habe folgendes prob. wenn ich meine mails abrufe (erstmal nur die header) und in eineChecklistbox schreiben möchte, bekomm ich jedesmal den fehler "ERR-Message Number out of range" und zusätzlich sind alle mails die einen Anhang beinhalten doppelt eingetragen. :/ weis nich mehr weiter hab scho div. sachen ausprobiert bzw hier geschaut aber nichts passendes gefunden.
Delphi-Quellcode:
infos:
procedure TForm1.ffnen1Click(Sender: TObject);
var i:integer; begin for i := 1 to pop1.MessageCount do begin pop1.RetrieveHeader(i, Message1); checklistbox1.Items.Add(Message1.Subject); Message1.Clear; end; end; pop1 wäre die pop-kompo message1 der parser checklistbox1 = checklistbox benutze eine kompo die der indy sehr ähnelt/CIS, an ders aber nicht liegt delphi 7 ps: wäre es möglich das die checklistbox nur bestimmte mails anzeigt die z.b. das subject "News" enthalten bzw nen anhang besitzen? thx 4 help + info |
Re: Checklistbox/Pop3 - Error Message ?
hi,
kann ich nicht soviel zu sagen, probier dochmal erstmal das, vllt zählen die cis komps ja anders:
Delphi-Quellcode:
for i := 0 to pop1.MessageCount - 1 do
Zitat:
Delphi-Quellcode:
zum anhang kann ich dir nichts sagen weil ich nicht mit den komponenten arbeite.
if Message1.Subject = 'News' then checklistbox1.Items.Add(Message1.Subject)
|
Re: Checklistbox/Pop3 - Error Message ?
thx,
also die fehlermessage kommt nicht mehr. allerdings wird die letzte mail nicht angezeigt und die mails mit anhang sind doppelt inner checklistbox :/ |
Re: Checklistbox/Pop3 - Error Message ?
hi,
sind es die clever internet suite componenten? CIS oder ICS? also das hier sollte eigentlich funktionieren:
Delphi-Quellcode:
wieso nimmst du, wenn du D7 hast nicht einfach die indy?
for i := pop1.MessageCount - 1 down to 0 do
|
Re: Checklistbox/Pop3 - Error Message ?
ja genau die clever ... naja die indy kompo möchte soi garnicht auf mein gmail postfach zugreifen. das scheint wohl an indy zu liegen :/ würd auch sonst indy lieber nehmen da es viel mehr beispiele gibt da die kompos sich im code dann ja doch etwas unterscheiden. naja ich probier mal grad die sachen ;) thx
|
Re: Checklistbox/Pop3 - Error Message ?
hi,
gmail .. naja ich denke dann liegt es an ssl, ohne das geht es nicht. nochmal zu dem oben .. ich glaube ich weiss warum es nicht geht .. mach es mal so: MessageParser: TclMessageParser;
Delphi-Quellcode:
procedure TForm1.ffnen1Click(Sender: TObject);
var i:integer; begin for i := pop1.MessageCount -1 downto 0 do begin pop1.RetrieveHeader(i); checklistbox1.Items.Add(MessageParser.Subject) end end; |
Re: Checklistbox/Pop3 - Error Message ?
hmm...ja bei den CIS iss halt SSL sehrschön integriert. also mit den verschiedenen beispielen da unten wie auch das aktuelle von dir (Chris) kommen die mails zwar wunderbar in die checkliste rein allerdings werden die mails die einen anhang besitzen und komischerweise nur die, doppelt eingetragen. ka woran das wohl liegen könnte. ich meine ist ja nicht so schlimm wenn man doppelte einfach rausfiltern könnte ?.
procedure TForm1.ffnen1Click(Sender: TObject); var i:integer; begin pop1.Server := labelededit1.Text; pop1.Port := StrToInt(labelededit2.text); pop1.UserName := labelededit3.Text; pop1.Password := maskedit1.Text; pop1.TimeOut := 20000; pop1.UseSSL := true ; pop1.Open; //for i := 0 to pop1.MessageCount -1 do //for i := pop1.MessageCount - 1 to 0 do begin for i := pop1.MessageCount -1 downto 0 do begin pop1.RetrieveHeader(i); checklistbox1.Items.Add(Message1.Subject); end; end; end; //begin //pop1.RetrieveHeader(i, Message1); //if Message1.Subject = 'News vom 16.02.05' then checklistbox1.Items.Add(Message1.Subject); //checklistbox1.Items.Add(Message1.Subject); //Message1.Clear; //end; [/delphi] |
Re: Checklistbox/Pop3 - Error Message ?
hi,
du kannst das einfügen doppelter einträge im voraus verhindern. z.b. hiermit:
Delphi-Quellcode:
ob das so im sinne des erfinders ist sei mal dahingestellt.
if checklistbox1.Items.IndexOf(Message1.Subject) = -1 then checklistbox1.Items.Add(Message1.Subject);
probier das mal, ich hab mich gerade mal etwas schlau gemacht:
Delphi-Quellcode:
checklistbox1.Items.AddObject(Message1.Subject, Pointer(i));
|
Re: Checklistbox/Pop3 - Error Message ?
hm....funzt leider beides nüschte :( hat evtl. die checklistbox nen hauweg ? weil irgendwas stimmt da ja wohl net kann ja net sein das da allet doppelt kommt was nen anhang hat...
|
Re: Checklistbox/Pop3 - Error Message ?
hi,
wa??
Delphi-Quellcode:
MUSS klappen!
if checklistbox1.Items.IndexOf(Message1.Subject) = -1 then checklistbox1.Items.AddObject(Message1.Subject, Pointer(1))
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz