Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IDMessage LoadFromFile (https://www.delphipraxis.net/167729-idmessage-loadfromfile.html)

Informatik2012 15. Apr 2012 12:57

IDMessage LoadFromFile
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn ich versuche mit LoadFromFile eine vorher gespeicherte EMail-Nachricht der Form IdMessage zu laden kommt folgende Fehlermeldung. Siehe Anhang: Unbenannt.bmp

Hier ist der Quelltext dazu:
Delphi-Quellcode:
  IdMsg := TIdMessage.Create();
  for i := 0 to ListBox2.Count-1 do
  begin
    if ListBox2.Selected[i] = true then
    begin
      s:='';
      for m := 1 to 10 do
      begin
      s:=s+ListBox4.Items.Strings[i][m]
      end;
      IdMsg.LoadFromFile('\MailClient\empfangen\'+ListBox3.Items.Strings[i]+s+'.msg');
Die Datei ist vorhanden. Und hat wie ich irgendwo gelesen habe auch 2 Leerzeilen am Ende.
Deswegen weiß ich nicht was das Problem ist. Wäre dankbar für Antworten.

himitsu 15. Apr 2012 13:07

AW: IDMessage LoadFromFile
 
Der Dateiname stimmt aber?
Delphi-Quellcode:
if not FileExists('\MailClient\empfangen\'+ListBox3.Items.Strings[i]+s+'.msg') then
  ShowMessage('nee');
IdMsg.LoadFromFile('\MailClient\empfangen\'+ListBox3.Items.Strings[i]+s+'.msg');
Die Anzahl der Einträge zwischen ListBox 2, 3 und 4 stimmen überein und gehören jeweils zusammen?

Zitat:

Delphi-Quellcode:
      s:='';
      for m := 1 to 10 do
      begin
      s:=s+ListBox4.Items.Strings[i][m]
      end;

Was passiert, wenn es weniger als 10 Zeichen sind?
Und den Befehl Delphi-Referenz durchsuchenCopy kennst du schon?


PS: Das nächste Mal ganz einfach Strg+C drücken, wenn du eine Fehlermeldung siehst
und dann die Ausgabe von Strg+V in ein [QUOTE] schreiben.

Bernhard Geyer 15. Apr 2012 13:11

AW: IDMessage LoadFromFile
 
Zitat:

Zitat von Informatik2012 (Beitrag 1161969)
Delphi-Quellcode:
      IdMsg.LoadFromFile('\MailClient\empfangen\'+ListBox3.Items.Strings[i]+s+'.msg');
Die Datei ist vorhanden.

Aber du kannst nicht sicher sein das dein Programm auch im passenden Verzeichnis sucht.
Bei relativen Verzeichnisangaben muss man immer davon ausgehen das das aktuelle Verzeichnis der Anwendung auf irgendwas anderes steht.

Informatik2012 15. Apr 2012 13:23

AW: IDMessage LoadFromFile
 
Ja der Dateiname stimmt. Ich lass ihn mir extra vorher durch ne Showmessage ausgeben.

Ja die gehören alle zusammen.

Wenn ich deinen Quelltext mit dem FileExist eingebe, kommt raus SHowmessage('Nee');
das würde ja heißen dass die Datei nicht existiert. Aber ich sehe sie ja im Ordner liegen. Das wundert mich gerade. Ich hab auch nochmal kontrolliert. Das Verzeichnis stimmt auch.

Die ersten 10 zeichen. sind bisher immer ein Datum gewesen. Also in dem was ich ausprobiert habe.
Das sind die letzten 10 zeichen vor der Dateiendung.

auch wenn ich das Verzeichnis der exe durch extractfilepath(paramstr(0)) mit hineinschreibe gibt es die Datei trotzdem nicht

PS:
ich schreibe in die ListBox4 so die werte rein.
Delphi-Quellcode:
Frame41.ListBox4.Items.Add(DateToStr(zMessage.Date));


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz