![]() |
TStream nach TIdStream 'casten'
Ich habe probleme mit Indy10 und die SaveToFile oder SaveToStream methode unter Delphi 2006 VCL.NET mit umlauten.
Beim nachsuchen habe ich über eine neue Klasse TIdStream erfahren. Dort steht dann : Zitat:
|
Re: TStream nach TIdStream 'casten'
Ich kann mir nicht vorstellen, wie das unter .Net funktionieren sollte :gruebel: . Da müsste der Compiler die CLR schon ziemlich aufs Kreuz legen.
|
Re: TStream nach TIdStream 'casten'
Wie kann ich dann TIdStream benutzen unter Delphi 2006 VCL.NET ?
|
Re: TStream nach TIdStream 'casten'
Zitat:
Ich kann nicht z.B. f := TIdStream.Create('FileName', fmCreate) benutzen, obwohl ich im Uses dir IdStream Datei mit reingebracht habe. |
Re: TStream nach TIdStream 'casten'
Zitat:
Eine Fehlermeldung wäre aber auch nicht schlecht :roll: . |
Re: TStream nach TIdStream 'casten'
Folgendes gefunden :
unter Uses muss IdObjs stehen (anstatt IdStream). Dann mache ich folgendes :
Delphi-Quellcode:
Aber wie schon gesagt. Umlaute werden in der .eml datei falsch dargestellt.
procedure TForm1.Button1Click(Sender: TObject);
var f : TIdStream; begin if IdPOP31.Connected then IdPOP31.Disconnect; IdPOP31.Host := '...............'; IdPOP31.Port := 110; IdPOP31.Username := '...............'; IdPOP31.Password := '......'; IdPOP31.Connect; IdMessage1.Clear; IdPOP31.Retrieve(1, IdMessage1); f := TIdFileStream.Create('C:\Email.eml', fmCreate); IdMessage1.SaveToStream(f); .... P.D. Benutze Indy10 und Delphi 2006 VCL.Net |
Re: TStream nach TIdStream 'casten'
Lösung :
Delphi-Quellcode:
IdMessage1.Clear;
IdMessage1.NoDecode := True; IdPOP31.Retrieve(1, IdMessage1); IdMessage1.NoEncode := True; IdMessage1.SaveToFile('C:\EMail.eml'); //(oder SaveToStream wie auch immer) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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