<div dir="ltr"><div dir="ltr"><div>Hi there,</div><div><br></div><div>I need a solution for a packed record containing 4-byte 32-bit integers and cardinals, and other byte 8 bit and word 16 bit sized variables to overlay over a stream.</div><div><br></div><div>Example:</div><div><span style="color:rgb(0,0,255)"><b><span style="font-family:monospace,monospace">type</span></b></span></div><div><span style="color:rgb(0,0,255)"><b><span style="font-family:monospace,monospace">  TMyBinaryHeader = packed record</span></b></span></div><div><span style="color:rgb(0,0,255)"><b><span style="font-family:monospace,monospace">    Sender    : Cardinal;</span></b></span></div><div><span style="color:rgb(0,0,255)"><b><span style="font-family:monospace,monospace">    Target    : Cardinal;<br></span></b></span></div><div><span style="color:rgb(0,0,255)"><b><span style="font-family:monospace,monospace">    Reference : Integer;    <br></span></b></span></div><div><span style="color:rgb(0,0,255)"><b><span style="font-family:monospace,monospace">    Flags     : Word;<br></span></b></span></div><div><span style="color:rgb(0,0,255)"><b><span style="font-family:monospace,monospace">    <span style="color:rgb(0,0,255)"><b><span style="font-family:monospace,monospace">CheckByte : Byte;</span></b></span></span></b></span></div><div><span style="color:rgb(0,0,255)"><b><span style="font-family:monospace,monospace">  end;</span></b></span></div><div><br></div><div>So on 32 bit systems, SizeOf(TMyBinaryHeader) will report 15 bytes. How do I accomplish this on 64 bit platform and avoiding "myprotocollib.pas(x,y) Error: Typecast has different size (4 -> 8) in assignment" without having to port to ugly byte copy operations.</div><div><br></div><div>Thanks.</div><div><br></div></div></div>