Das dürfte krachen, wenn Du mehr als 255 Bytes nach SData lesen willst. Der dynamische Teil funktioniert bei mir:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Data : Array of Byte;
var
st: AnsiString;
len: Integer;
f: tfilestream;
begin
f := tfilestream.Create('test',fmOpenRead);
try
setlength(data,f.size);
f.Read(data[0],f.size);
finally
f.Free;
end;
len := Length(Data) - 1;
SetString(st, PChar(@Data[1]), len);
button1.Caption := st;
end;