Neben dem was, mkinzler gesagt hat, gibt es ein Mischmasch aus Type/var-Deklaration, die nicht übersetzt wird. Entweder
type data = oder
var data: aber nicht
type Data: Array of Byte. Jedenfalls funktioniert der folgende Schnipsel ohnt Probleme:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Data : Array of Byte;
var
st: AnsiString;
len: Integer;
begin
setlength(data,4);
data[0] := 0;
data[1] := $31;
data[2] := $32;
data[3] := $33;
len := Length(Data) - 1;
SetString(st, PChar(@Data[1]), len);
button1.Caption := st;
end;