estoy usando un MemoryStream para construir una matriz de bytes que necesito para enviar a un server.I tienen thre preguntas:MemoryStream y la construcción de una matriz de bytes
1) ¿Hay una mejor manera de construir una serie de bytes que esto?
2) ¿Por qué esta porción de código escribe falso en mi flujo de memoria?
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;
Usando el depurador veo que en la corriente se agrega el valor $ 6F32 en lugar de $ 3E6C.
3) Si llamo
MS.Position := 2;
y luego tengo acceso PBYTE (MS.Memory)^¿Por qué aparece el primer byte en el flujo en lugar de la tercera?
Para leer un byte en una posición específica, use 'MS.Read (SomeByte, 1)' después de establecer la posición. –