![]() |
String via TStream-Property bereitstellen
Hallo DP-Profis!
Mein Problem/Herausforderung: In einer Klasse liegen umfangreiche Daten in Form eines Strings; daran läßt sich aus verschiedenen Gründen auch nichts ändern. Ich möchte dem User eine TStream-Schnittstelle zum Zugriff auf diese Daten bereitstellen, um z.B. die Funktion WriteToFile zur Verfügung zu stellen. Nun möchte ich dazu natürlich nicht den String zuerst in den Stream kopieren. TStringStream hält ja seine Daten auch intern als String bereit. Gäbe es da nicht die Möglichkeit, das TStringStream-Object den Datenbereich des Strings nutzen zu lassen? |
AW: String via TStream-Property bereitstellen
Schreibe den String doch in den Stream
|
AW: String via TStream-Property bereitstellen
Hallo,
Es gibt da einen TVirtualStream in meiner ![]() Alternativ gibts auch noch eine Unit von himitsu, mit einer Klasse die soweit ich weiß quasi das gleiche macht wie TVirtualStream: ![]() |
AW: String via TStream-Property bereitstellen
@mkinzler:
Dann hätte ich die Daten ja zweimal im Speicher (einmal im String und einmal im Stream) und das würde ich ja gerade gerne vermeiden... @Neutral General: Ich werde mir den TVirtualStream mal genauer anschauen. Aber wenn das Datenobjekt (bei mir der AnsiString) vom eigentlichen Streamobjekt getrennt ist (und man über die Read- und Writemethoden des Streams) auf das Datenobjekt zugreifen kann, wäre das perfekt! Vielen Dank für den Input erstmal... |
AW: String via TStream-Property bereitstellen
Zitat:
Kannst ja ggf. vom TVirtualStream ableiten und dir nen TVirtualStingStream bauen oder so. Müsste sicherlich machbar sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:39 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 by Thomas Breitkreuz