Hallo Leute,
ich bin am Verzweifeln. Der Indykomponente TIdMessage wurde eine frisch empfangene eMail uebergeben. Alle Eigenschaften wie Body etc. sind auslesbar, jedoch erscheint bei
Message.SaveToFile eine EAccessViolation.
Die Datei wird trotzdem geschrieben, der Inhalt scheint komplett zu sein.
Mit dem von Indy bereitgestellten Beispiel MessageLoadSave lassen sich eMails generieren (Angabe von Body, Adressen, Header....); diese sind problemlos abzuspeichern. Oeffne ich mit dem Beispielprogramm meine erzeugte Datei die den Fehler verursachte, geht das problemlos, wenn ich die jedoch mit dem Indy Beispiel unter einem anderen Namen wieder speichere gibt es wieder eine EAccessViolation....
Ich habe das auf 3 versch. Rechnern probiert, mit / ohne allen Delphi5 Updates. Ein Bug bei Indy?
Hier mein Quelltext:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.getAndSaveClick(Sender: TObject); begin msg.Clear; pop.Connect; if pop.CheckMessages > 0 then begin pop.Retrieve(0, msg); pop.disconnect; msg.SaveToFile('c:\test.msg'); end; end; |
"Zugriffsverletzung bei 00000032. Lesen von Adresse 00000032." Lautet der Fehler.
Fuer Hilfe bin ich dankbar!