Du mußt den Inhalt des Streams doch nicht in einem PChar zwischenspeichern. Ich kann mir dafür keinen zwingenden Grund vorstellen. Belasse doch den Inhalt im Stream, nenne in meinetwegen MeinGlobalerMemoryStream und deklariere ihn global bzw. wenn du ihn nur in dieser
Unit benötigst, im Private-Abschnitt. Den Inhalt des Streams kannst du dann auch wunderbar in ein Blobfeld schreiben bzw. umgekehrt ein Blobfeld in einen Stream gießen. Natürlich kommt es zu Verlusten, wenn du Inhalte in Typen speicherst, die dafür nicht geeignet sind. Die Leerzeichen zwischen jedem einzelnen Zeichen sind ein Signal dafür, daß du ehemaligen
Unicode-Text mit einer nicht unicodefähigen Komponente darstellst oder sicherst. Das heißt, jedes zweite Zeichen ist nicht darstellbar, weil
Unicode hier zwei Byte pro Zeichen belegt und das zweite Byte ein nicht darstellbares Zeichen ist, jedoch zum ersten Byte gehört und in
Unicode-Darstellung auch korrekt dargestellt würde. Laß also einfach diesen Unsinn mit dem Typecast nach PChar weg, behalte das Zeug im Stream und gut ist.