Zitat:
Darum ist es immer besser direkt bei ByteArrays bzw. ByteStreams zu bleiben.
95% dieses Codes sind auf Basis von ByteStream und alles ist gut. Ich benutze StringOf(bytes) und danach Pos() um an die Positition von ein paar bestimmten Zeichen zu kommen. Das funktioniert auch auf allen Systemen scheinbar. Dann lese ich von dieser Position aus 48 weitere Zeichen (Bytes) mit ByteStream.Read aus aus und forme es am Ende in einen String um.
Das scheint jetzt augenscheinlich auch auf dem Problem-Windows zu funktionieren.
Delphi-Quellcode:
ByteStream.Position := RawBytePos - 1;
ByteStream.Read(ByteStream.Bytes[0], 48);
Str := StringOf(ByteStream.Bytes);
Das Ergebnis ist das was ich in der Exe suche.
Ist hier StrOf() oder RawByteString() besser? Dass TEncoding.ANSI wegfällt ist klar.