Я переношу свое приложение из delphi 2007 в delphi xe, но у меня возникли проблемы с процедурой, которая читает файл (ascii) и сохраняет содержимое в строке
это код, который работает нормальнов Delphi 2007
function LoadFileToStr(const FileName: TFileName): String;
var
FileStream : TFileStream;
begin
FileStream:= TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
if FileStream.Size>0 then
begin
SetLength(Result, FileStream.Size);
FileStream.Read(Pointer(Result)^, FileStream.Size);
end;
finally
FileStream.Free;
end;
end;
, но при выполнении этого кода в Delphi XE результатом являются просто символы, такие как «????????», я знаю, какой Delphi XE является Unicode, поэтому я изменяю эти строки
SetLength(Result, FileStream.Size);
FileStream.Read(Pointer(Result)^, FileStream.Size);
до
SetLength(Result, FileStream.Size*2);
FileStream.Read(Pointer(Result)^, FileStream.Size);
, чтобы сохранить содержимое файла в строке Unicode, но результат будет таким же.
how i can fix this procedure to read the content of this file?