[fpc-devel] Packed record integers and x86_86

DJ Coertzen patrolliekaptein at gmail.com
Wed Mar 27 18:26:47 CET 2019


Hi there,

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.

Example:
*type*
*  TMyBinaryHeader = packed record*
*    Sender    : Cardinal;*

*    Target    : Cardinal;*

*    Reference : Integer;    *

*    Flags     : Word;*
*    CheckByte : Byte;*
*  end;*

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.

Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20190327/b482c3ed/attachment.html>


More information about the fpc-devel mailing list