Здравствуйте!
В Delphi 2009 хочу прочитать файл кодированный в utf8 в строку типа UTF8String.
Код:
...
uses Classes, SysUtils, Windows;
...
function ReadFromFile(FileName:String):UTF8String;
var
hFile, Size: Integer;
Buffer: ^UTF8String;
begin
hFile := FileOpen(FileName, fmOpenRead or fmShareDenyWrite);
try
Size := SysUtils.FileSeek(hFile,0,2);
FileSeek(hFile,0,0);
GetMem(Buffer, Size);
FileRead(hFile, Buffer^, Size);
Result := UTF8String(Buffer);
finally
FileClose(hFile);
end;
end;
...
После строки "Result := UTF8String(Buffer);" выскакивает ошибка "Access violation". При этом в окне watch строка UTF8String(Buffer) показывает правильное значение. В чем моя ошибка?