On Wed, 27 Mar 2019, 19:27 DJ Coertzen, <patrolliekapt...@gmail.com> wrote:

> 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.
>

Perhaps use size explicit types such as uint32 and int32?
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to