On Fri, Nov 9, 2012 at 6:56 PM, Tomas Hajny <xhaj...@hajny.biz> wrote: > On Fri, November 9, 2012 17:38, ik wrote: >> On Fri, Nov 9, 2012 at 6:12 PM, Tomas Hajny <xhaj...@hajny.biz> wrote: >>> On Fri, November 9, 2012 17:01, ik wrote: >>>> On Fri, Nov 9, 2012 at 5:16 PM, Jonas Maebe <jonas.ma...@elis.ugent.be> >>>> wrote: >>>>> On 09 Nov 2012, at 16:06, ik wrote: >>>>> >>>>> And if I do it without the hash, then it's just a number >>>>> >>>>> >>>>> UCS4Char is in fact just a number, and UCS4String is just a dynamic >>>>> array of >>>>> cardinal. UCS4 is not implemented as a complete string type in FPC (or >>>>> Delphi, for that matter). >>>> >>>> Cardinal is a bit problematic type, you mean longword. :) >>> >>> Why do you see cardinal as a "problematic type"? At least for FPC it is >>> a >>> simple alias to longword (and it has actually existed even before >>> longword >>> in FPC). >> >> At least with Delphi it has unclear what exactly the size of it. >> And the following code: >> https://github.com/ik5/fp-msgpack/blob/master/src/msgpack.pas#L528 >> >> Used to be with Cardinal (the only difference), and It never acted as >> expected. >> The only thing I changed was from cardinal to longword, and it acts as >> expected. > > With Delphi or with FPC? As already mentioned, FPC defines cardinal as an > alias to longword (and UInt32 mentioned in your reference as an alias to > cardinal) so there should be no difference between cardinal, longword and > UInt32 (and in the past, cardinal was even the primary type in FPC > directly known by the compiler). > > With Delphi, I believe that very old Delphi versions defined cardinal as a > 31-bit type (i.e. simply the non-negative part of the longint range), but > I also believe (while not using Delphi at all myself) that all currently > relevant Delphi versions (i.e. not considering things like Delphi 1.0 and > Delphi 2.0 which probably didn't support longword anyway) define cardinal > as equal to longword.
With FPC. The value was saved wrong. The only thing that I changed in my code was moving from Cardinal to LongWord. I do not own Delphi or Windows copy for many years now :) > > Tomas > > > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/mailman/listinfo/fpc-pascal _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal