Sto usando un MemoryStream per costruire un array di byte ho bisogno di inviare a un server.I hanno Thre domande:MemoryStream e la costruzione di un array di byte
1) C'è un modo migliore per costruire una serie di byte di questo?
2) Perché questo pice di codice scrive fasulli nel mio flusso di 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;
utilizzando il debugger vedo che nel flusso si aggiunge il valore di $ 6F32 invece di $ 3E6C.
3) se chiamo
MS.Position := 2;
e quindi accedo PBYTE (MS.Memory)^perché ottengo il primo byte nel flusso invece del terzo?
Per leggere un byte in una posizione specifica, utilizzare 'MS.Read (SomeByte, 1)' dopo aver impostato la posizione. –