![]() |
Gespeicherter String anders als String aus dem Speicher?
Zur speicherung in eine XML als base64binary übertrage eine JPG Grafik in einen String.
Code:
Den erzeugten String speichere ich über eine Stringlist als TXT ab. Diese TXT lade ich mit folgenden Code wieder um den String zu decodieren und anzuzeigen:
function JPEGToBase64String(FileName: String): String;
var Stream: TFileStream; begin Stream := TFileStream.Create(FileName, fmOpenRead); Result := TIdEncoderMIME.EncodeStream(Stream); Stream.Free; end;
Code:
Ergebnis: JPEG Fehler #53, soll heißen kein korrektes JPG, also keine Anzeige
procedure TForm1.Button2Click(Sender: TObject);
var Str: String; Strem: TMemoryStream; JPG: TJPEGImage; begin Str := Path + 'Test.txt'; // die Datei mit dem String Stream := TMemoryStream.Create; try TIdDecoderMIME.DecodeStream(Str, Stream); Stream.Position := 0; JPG := TJPEGImage.Create; try JPG.LoadFromStream(Stream); Image1.Picture.Assign(JPG); finally JPG.Free; end; finally Stream.Free; end; end; WENN ich aber den String global als Variable verwende, also NICHT als String speichere und an die Decodierung gebe geht das alles anstandlos. Fazit : Beim speichern des Strings passiert irgendwas damit was letztlich zum Fehler führt. Oder? Und wenn ja was? creehawk |
AW: Gespeicherter String anders als String aus dem Speicher?
Du rufst DecodeStream mit den Inhalt von
Delphi-Quellcode:
, also dem Dateipfad, auf.
Path + 'Test.txt'
Du willst doch sicherlich den DateiINHALT als String auslesen und übergeben, gell? Nimm noch nen Kaffee! :cheers: |
AW: Gespeicherter String anders als String aus dem Speicher?
Gut.
Okay. Schon verstanden. Ich hasse Kaffee. Ich hol' mir einen schönen Tee. Schwarz. Mit Schuss. Programmieren lasse ich in Zukunft sein. Häkeln ist einfacher. Ich danke untertänigst für den Hinweis. Sackerlzement. creehawk |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 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