AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Stream-Schreibfehler, ich dreh bald durch!
Thema durchsuchen
Ansicht
Themen-Optionen

Stream-Schreibfehler, ich dreh bald durch!

Ein Thema von Sascha L · begonnen am 13. Dez 2004 · letzter Beitrag vom 18. Dez 2004
Antwort Antwort
Seite 1 von 2  1 2      
Sascha L

Registriert seit: 4. Jun 2004
Ort: Hamm
390 Beiträge
 
Delphi 2006 Professional
 
#1

Stream-Schreibfehler, ich dreh bald durch!

  Alt 13. Dez 2004, 16:13
Hallo,

ich habe folgenden Code:

Delphi-Quellcode:
var
intIndex:integer;
anhang_stream: TFileStream;

for intIndex := 0 to (IdMessage1.MessageParts.Count-1) do begin

  if idMEssage1.MessageParts.Items[intIndex] is TIdAttachmentFile then begin
  s := (idMEssage1.MessageParts.Items[intIndex] as tIdAttachmentFile).Filename;
  anhang_stream := TFileStream.Create(intIndex);
  TidAttachmentFile(idMessage1.MessageParts.Items[intIndex]).SaveToStream(anhang_stream);
  // hier steht noch Code, der damit nichts zu tun hat.
  anhang_stream.Free;
  end;
Ich habe schon alles ausprobiert. anhang_strean.Destroy, anhang_stream.free (was man ja eigentlich nimmt). Ich habe es auch ganz weggelassen, aber jedes mal bekomme ich eine Fehlermeldung -> "Stream-Schreibfehler".

Ich habe bei TFileStream.Create auch schon mal einen Order + s angegeben. Er kann dann, wenn im Anhang 2 Dateien sind, nur die erste Speichern und bei der 2. kommt dann wieder der Fehler.

Andere Streams kann ich nicht verwenden, weil beim Compilieren sonst ein Fehler kommt, da man bei TidAttachment nur nen FileStream nehmen kann.

Ich hoffe ihr wisst, wo das Problem ist

Gruß
Sascha
Sascha
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Stream-Schreibfehler, ich dreh bald durch!

  Alt 13. Dez 2004, 16:28
Zitat von Sascha L:
Ich hoffe ihr wisst, wo das Problem ist
Das einzigste was ich jetzt sehe ist, das bei TFileStream.Create ein Int als Paramater übergeben wird. Dachte immer, dass dort der Dateiname angegeben werden muss. Wichtig ist, dass keine neuen Verzeichnisse angelegt werden durch FileStream. Das Verzeichnis muss also schon vorhanden sein.

P.S: Die Genaue Fehlermeldung wäre nicht schlecht. Glaube nicht, dass er einfach nur Stream-Schreibfehler sagt ...
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Sascha L

Registriert seit: 4. Jun 2004
Ort: Hamm
390 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Stream-Schreibfehler, ich dreh bald durch!

  Alt 13. Dez 2004, 16:33
int kann man auch angeben, aber wie gesagt, habe ich es auch schon mit dem direkten Dateinamen, etc. ausprobiert. Da habe ich einfach c:\ angegeben. Der "Ordner" existiert ja

Die genaue Fehlermeldung lautet: Stream-Schreibfehler
Sascha
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Stream-Schreibfehler, ich dreh bald durch!

  Alt 13. Dez 2004, 16:46
Zitat von Sascha L:
int kann man auch angeben, aber wie gesagt, habe ich es auch schon mit dem direkten Dateinamen, etc. ausprobiert. Da habe ich einfach c:\ angegeben. Der "Ordner" existiert ja

Die genaue Fehlermeldung lautet: Stream-Schreibfehler
Du musst aber ne Datei angeben und nicht nen Ordner

und wichtig die Datei muss existieren
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Stream-Schreibfehler, ich dreh bald durch!

  Alt 13. Dez 2004, 17:11
Schau dir mal den Konstruktor von TFileStream GANZ GENAU an.
Du brauchst einen Dateinamen und den Zugriffmode.
Delphi-Quellcode:
filename := Format('C:\attachment%d.txt',[intIndex]);
anhang_stream := TFileStream.Create(filename, fmCreate);
Die Datei muss nicht existieren, darf aber kein Verzeichnis sein.
Andreas
  Mit Zitat antworten Zitat
Sascha L

Registriert seit: 4. Jun 2004
Ort: Hamm
390 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Stream-Schreibfehler, ich dreh bald durch!

  Alt 13. Dez 2004, 21:10
ach ne. das weiß ich auch. wer meinen text oben genau durchliest, sieht, dass ich "ordner +s" geschrieben habe.

wer den Code durch geht, sieht, dass der Variable s ein Dateiname vergeben wird. Und das klappt auch, aber nur, wenn im Anhang eine Datei ist. Bei der 2. gibt es wieder den Stream-Schreibfehler.

Wer lesen kann, ist klar im Vorteil
Sascha
  Mit Zitat antworten Zitat
Sascha L

Registriert seit: 4. Jun 2004
Ort: Hamm
390 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Stream-Schreibfehler, ich dreh bald durch!

  Alt 17. Dez 2004, 14:21
*push*
Sascha
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Stream-Schreibfehler, ich dreh bald durch!

  Alt 17. Dez 2004, 14:27
Zitat von Sascha L:
ach ne. das weiß ich auch. wer meinen text oben genau durchliest, sieht, dass ich "ordner +s" geschrieben habe.

wer den Code durch geht, sieht, dass der Variable s ein Dateiname vergeben wird. Und das klappt auch, aber nur, wenn im Anhang eine Datei ist. Bei der 2. gibt es wieder den Stream-Schreibfehler.

Wer lesen kann, ist klar im Vorteil
Denken wäre aber noch besser !

Wenn du bei
TFileStream.Create(intIndex) nur eine Zahl (Integer) angibst, dann wird ein Handle erwartet.
Da du aber dieses nicht hast, und auch nicht haben willst, mußt du es so machen wie shmia das geschrieben hat, das ist deine Lösung, hat nichts mit lesen zu tun sondern nur was mit DENKEN !!!!!
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Sascha L

Registriert seit: 4. Jun 2004
Ort: Hamm
390 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Stream-Schreibfehler, ich dreh bald durch!

  Alt 17. Dez 2004, 14:34
Und wenn du auch lesen könntet, dann hättest du gelesen, dass ich DAS GEMACHT HABE!!!!!!!!!!!!!!!!!! Aber das auch nichts gebracht hat.

PISA.....
Sascha
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Stream-Schreibfehler, ich dreh bald durch!

  Alt 17. Dez 2004, 16:24
Zitat von Sascha L:
Und wenn du auch lesen könntet, dann hättest du gelesen, dass ich DAS GEMACHT HABE!!!!!!!!!!!!!!!!!! Aber das auch nichts gebracht hat.

PISA.....
Ja das mit Lesen ist nicht so leicht, kannst mir ja mal beibringen wenn du Zeit hast. Aber vielleicht probierst es in der zwischenzeit einfach mal das zu machen was dir die User hier Beibringen möchten.

Da du aber geschrieben hast
Zitat von Sascha L:
int kann man auch angeben, aber wie gesagt, habe ich es auch schon mit dem direkten Dateinamen, etc. ausprobiert. Da habe ich einfach c:\ angegeben. Der "Ordner" existiert ja Very Happy

Die genaue Fehlermeldung lautet: Stream-Schreibfehler Very Happy
Du kannst und darfst nicht 'C:\' verwenden, da das ein Verzeichnis ist und KEINE Datei, du MUßT einen Dateinamen angeben.
Und wenn du "NUR" einen integer angibst, dann wird ein Handle erwartet, aber denn hast du nicht und brauchst auch nicht

Also ganz einfach :
Delphi-Quellcode:
  anhang_stream := TFileStream.Create('c:\Attachment_'+IntToStr(intIndex)+'.att', fmCreate);
  TidAttachmentFile(idMessage1.MessageParts.Items[intIndex]).SaveToStream(anhang_stream);
  // hier steht noch Code, der damit nichts zu tun hat.
  anhang_stream.Free;
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:02 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