Я использую MemoryStream для создания массива байтов, которые мне нужно отправить на сервер. У меня есть три вопроса:
1) Есть ли лучший способ построить массив байтов, чем это?
2) Почему этот фрагмент кода записывает ложные данные в мой поток памяти?
var
serial : word;
MS : TMemoryStream;
const
somebytes : array [0..1] of byte = ($72,$72);
...
begin
MS := TMemoryStream.Create();
try
MS.Write(somebytes[0],2);
serial := $3E6C;
MS.Write(serial,2);
finally
MS.Free;
end;
С помощью отладчика вижу, что в поток добавляется значение $6F32 вместо $3E6C.
3) Если я вызываю
MS.Position := 2;
, а затем обращаюсь к PByte(MS.Memory)^, почему я получаю первый байт в потоке вместо третьего?