![]() |
PChar, String und abgeschnittene Ergebnisse
Hi,
folgendes Problem: Ich habe eine Datei, die ich in einen MemoryStream lade und den Inhalt dann in einen String, so dass die Datei praktisch im String drin steht. Bei dieser Stelle ist die Datei auch noch komplett. Wandle ich den String jetzt in einen PChar um, wird ab einer gewissen Stelle alles vom eigentlichen String abgeschnitten? Woher kommt das? Florian |
Re: PChar, String und abgeschnittene Ergebnisse
Was für ein Zeichen steht an der Stelle?
|
Re: PChar, String und abgeschnittene Ergebnisse
Zitat:
==> nimm n Array[0..size -1] of Byte oder n PByte mit manueller Speicherverwaltung... mfg Christian |
Re: PChar, String und abgeschnittene Ergebnisse
#0 ist sehr gut denkbar, weil ich eine Binärdatei einlese. Das Problem ist, dass ich die Datei erst als String haben, muss, um diesen zu encodieren und dann den encodierten String als PChar benötige, um ihn in eine Resource zu schreiben.
Klingt etwas umständlich die Datei erst in einen String zu schreiben und zu encodieren, muss aber sein. |
Re: PChar, String und abgeschnittene Ergebnisse
Meine Vermutung ging in die selbe Richtung, ersetze mal die #0 durch z.B. #32.
|
Re: PChar, String und abgeschnittene Ergebnisse
Ich darf die Daten innerhalb des Strings nicht verändern. Ich selber hatte auch auf ein #0 getippt. Ich muss den String nur irgendwie nach dem encodieren als Pointer haben, so dass ich UpdateResource aufrufen kann.
|
Re: PChar, String und abgeschnittene Ergebnisse
Dann lade sie doch in einen Buffer und übergebe einen Pointer auf diesen
|
Re: PChar, String und abgeschnittene Ergebnisse
wie wandelst du das ganze zu einem PChar? Ich denke mal du musst der Funktion zum überschreiben einen Pointer übergeben. Dabei spielt es auch keine Rolle ob es ein typisierter Pointer ist oder nicht. Zusätzlich denke ich das du der Funktion auch dei Größe der Daten mitgibst und da wird einfach dein Fehler sein.
|
Re: PChar, String und abgeschnittene Ergebnisse
Hallo Florian,
wenn das Encoding inplace stattfindet, dann lade die Daten in einen StringStream und verwende @DataString[1] für UpdateResource(). Dort wird kein PChar benötigt, da eine Größenangabe mit übergeben werden muss. Grüße vom marabu |
Re: PChar, String und abgeschnittene Ergebnisse
Zitat:
Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 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