On Wed, Mar 27, 2019 at 7:48 PM Christo Crause <christo.cra...@gmail.com> wrote:
> > > 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 I discovered UInt32 in the meanwhile . Thanks. I replied on the wrong response about pointer arithmetic
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel