Because IVO GELOV did not updated his code and/or did not removed his answer, I am adding my current code, which I am using.
type TBytes = array of byte;
procedure Dictionary.WriteData(var Data: TBytes);
begin
try
DataStream.Write(Data[0], sec[sid].grp[grp].META.dataLength);
finally
end;
end;
solved How to pass pointer to array of byte to function?