Problem solved ! Thank you very much !
> > Inpromptu wrote: > > I've found the problem... ! > > > > if the record is Myrecord=record > > MyInteger:integer; > > Mystring:string; > > end; > > > > compiled with c:\lazarus\pp\bin\i386-bin\ppc386 without any other > > parameter, sizeof(Myrecord.Myinteger) shows 2. > > > > compiled inside Lazarus sizeof(Myrecord.Myinteger) shows 4 ! > > > > Because of this, Mystring is readed wrong from the file. > > > > > > I think this is a trivial problem, but I don't know how to force > > MyInteger to be 2 bytes long inside and outside Lazarus... Or 4 > > bytes long ? > > > > > > Size of Integer depends on FPC $mode used. See > [http://www.freepascal.org/docs-html/prog/progap4.html]. So you can > force Integer to be of specific size by making sure that FPC always > uses the same $mode, whether you compile console version or GUI > version from Lazarus. > > Or you can use "SmallInt" or "LongInt" (depending on what you want > -- 2 or 4 bytes ?) to be sure that, regardless of $mode used, your > MyInteger has always the same size. See > [http://www.freepascal.org/docs-html/ref/refsu5.html]. > > Michalis > > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/mailman/listinfo/fpc-pascal -- _______________________________________________ Surf the Web in a faster, safer and easier way: Download Opera 8 at http://www.opera.com _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal