procedure TForm1.Button1Click(Sender: TObject);
var
  reg1: TRegistry;
  i: integer;
  len: integer;
  s: string;
  buf: array of byte;
begin
  SetLength(buf, 4);
  buf[0] := $55;
  buf[1] := $11;
  buf[2] := $22;
  buf[3] := $33;  reg1 := TRegistry.Create;
  try
    reg1.RootKey := HKEY_LOCAL_MACHINE;
    if reg1.OpenKey('\SAM\TEST', true) then
    begin
      reg1.WriteBinaryData('BUF1', buf[0], Length(buf));
      len := 0;
      Move(len, buf, 4);->      len := reg1.ReadBinaryData('BUF1', buf[0], Length(buf));
      s := '';
      for i := 0 to len-1 do
      begin
        s := s + ' ' + IntToHex(buf[i], 2);
      end;
      ShowMessage(s);      reg1.CloseKey;
    end;
  finally
    Reg1.Free;
  end;
end;在-> 那一句出错:Invalid data type for 'BUF1'
如果用静态数组就一切正常。动态数组的写入已经解决了,但是读不出来。
问题出在哪里呢?