![]() |
Inhalt Blobfield als Ansistring
Hallo
Ich habe ein kleines Tool neu compiliert (bisher XE 6, jetzt 10.3.2). Bisher halle ich folgenden Code:
Delphi-Quellcode:
In der mit XE 6 compilierten Version war der Inhalt in ABlobStream (XML) als Ansistring verfügbar.
procedure TfrmMain.ReadXMLData;
Var ABlobStream: TMemoryStream; AStream: TMemoryStream; Q: TMSQuery; ABlobField: TField; P: Integer; begin Q := DMMain.qryXML; if Q.IsEmpty then Exit; ABlobField := Q.FindField('XML_AUSKUNFT'); assert(ABlobField <> nil); if ABlobField.IsNull then Exit; ABlobStream := TMemoryStream.Create; AStream := TMemoryStream.Create; try ABlobStream := TMemoryStream(Q.CreateBlobStream(Q.FieldByName('XML_AUSKUNFT'), bmRead)); {$IFDEF DEBUG} ABlobStream.Position := 0; ABlobStream.SaveToFile('d:\auskunft.xml'); {$ENDIF} if ABlobStream.Size > 0 then begin p := GetStreamPos(ABlobStream, '>'); AStream.WriteBuffer(SXMLHeader[1], Length(SXMLHeader)); ABlobStream.Position := P; AStream.CopyFrom(ABlobStream, ABlobStream.Size - P); end; AStream.Position := 0; CR5XML.AssignFromStream(AStream); finally ABlobStream.Free; AStream.Free; end; end; Mit Rio liefert das nun UniCode. Wie kann ich den Feldinhalt wieder als Ansistring bekommen? Das Feld kommt aus den Devart SDAC Komponenten. Frank |
AW: Inhalt Blobfield als Ansistring
Guten Morgen,
XE6 war doch auch schon UniCode. Was spricht gegen UniCode - oder anders warum willst Du unbedingt AnsiString Daten? Grüße Klaus |
AW: Inhalt Blobfield als Ansistring
Zitat:
Ich muß noch etwas vorn anfügen, bevor ich es in ein TXMLDocument lade. Ich müsste zu jetzt zu viel anpassen. Es ist ein simpler Import und der soll so schlell als möglich wieder laufen... Frank |
AW: Inhalt Blobfield als Ansistring
Hallo,
UTF8Decode? |
AW: Inhalt Blobfield als Ansistring
.. ich finde nirgends wie SXMLHeader definiert ist?
Grüße Klaus |
AW: Inhalt Blobfield als Ansistring
Welches Format(Kodierung) haben die Daten in der Tabelle?
|
AW: Inhalt Blobfield als Ansistring
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Wenn ich blobfield.SaverToFile aufrufe, erhalte ich Daten wie im Anhang. Also jeder Zeichen hat jetzt noch ein 00 bekommen und das muss weg. Der Feldinhalt kann sehr groß sein, da es auch eine PDF in Base64 enthält. Frank |
AW: Inhalt Blobfield als Ansistring
.. welches RDBMS wird verwendet?
Zitat:
![]() Grüße Klaus |
AW: Inhalt Blobfield als Ansistring
Zitat:
Datenbank ist MS-SQL Ich habe - damit es erst mal weiter geht - jades 2. Zeichen im Stream gelöscht. Damit funktioniert es erst mal. Ich versuche jetzt noch, die Devart SDAC Komponenten dazu zu bringen, den Inhalt des Feldes nicht als Unicode zu liefern. Aber UseUnicode wie in IBDac gibt es bei SDac leider nicht. Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 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