Hallo,
nach dem Umstieg auf Delphi XE hatte ich auch ein Problem mit ReadBinaryData. Die Werte wurden nicht mehr korrekt ausgelesen. Auf der Suche nach der Ursache (bzw. Lösung, denn die URsache schien klar zu sein) bin ich auf diesen Thread gestoßen.
Dieser Hinweis hier
Ich würde wenn schon "string" als Puffer benutzt wird, diesen explizit als "AnsiString" deklarieren, vor allem im Hinblick auf das (wohl) kurz vor dem Release stehende Delphi 2009, bei dem "string" = "UnicodeString" ist und somit "SizeOf(Byte) = SizeOf(Char)" nicht mehr zutrifft.
löste das Problem, allerdings frage ich mich, ob es für eine
Unicode-Anwendung "gut" ist, mit AnsiStrings zu arbeiten. Es klingt ja auch so, dass die Lösung mit einem (
Ansi)String-Buffer generell nicht unbedingt die beste ist.
Welche "stabile" Alternativen hat man sonst noch, wenn AnsiString keine gute Lösung ist?