Wie gsagt, du kannst gerne bei
ANSI bleiben. Du mußt einfach nur AnsiString nehmen ... das funktioniert auch in D2009+
Delphi-Quellcode:
function LoadStringFromFile(sInFile: String; var sFileString: String): Boolean;
begin
...
SetLength(sFileString, FileStream.Size div SizeOf(Char));
FileStream.Read(sFileString[1], Length(sFileString) * SizeOf(Char));
function LoadStringFromFile(sInFile: String; var sFileString: AnsiString): Boolean;
begin
...
SetLength(sFileString, FileStream.Size);
FileStream.Read(sFileString[1], FileStream.Size);
Beim Ersten gibt es keine Zugriffsverletzung mehr, aber dafür wird dann aus deuschen Text bei
Unicode schnell mal Chinesisch.
Darum wäre
ANSI hier sogar richtig, da sich dabei das "Dateiformat" nicht verändert.