Also die Funktion LoadFile() ist ja leicht daneben, denn das Ergebnis von Read() wird ja gar nicht geprüft.
Wirf die Funktion weg und nimm diese:
Delphi-Quellcode:
function FileToString(const FileName: string): AnsiString;
var
fs: TFileStream;
Len: Integer;
begin
fs := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
Len := fs.Size;
SetLength(Result, Len);
if Len > 0 then
fs.ReadBuffer(Result[1], Len);
finally
fs.Free;
end;
end;