<<< 27.4.2009 19:26 - Mattias Gaertner "nc-gaert...@netcologne.de" >>> MG> Use packed records and add gap variables.
Uffff, look at this: TYPE TPackedGap =PACKED RECORD VarInteger :INTEGER; Dummy1 :INTEGER; VarDouble :DOUBLE; VarBoolean :BOOLEAN; VarBoolean2:BOOLEAN; Dummy2 :Word; Dummy3 :INTEGER; END; ... and I would expect, that the binary representation of this definition will keep the order of variables from definition, but it doesn't. Could somebody explain what rules is applied to change the order of variables in memory? TRoland; <<< 27.4.2009 19:26 - Mattias Gaertner "nc-gaert...@netcologne.de" >>> MG> On Mon, 27 Apr 2009 17:27:30 +0200 MG> Roland Turcan <k...@rotursoft.sk> wrote: >> Hello Dmitry, >> >> Thanks for your reply, but I think, that you haven't understood me >> what I am trying to explain. >> >> I have binary contents which are copied from memory using by an >> application which is written in Delphi. I am porting an application to >> MacOS X 10.5, but I need to use the same structures as I have in >> Delphi and Kylix where "NOT PACKED" records are aligned. >> >> The fact is, that FPC compiler on intel based Mac OS X builds up >> application which contains records "packed" by 4 bytes by default. MG> Use packed records and add gap variables. MG> >> I need to get the same behavior in intel based mac os x as I have in >> other platforms. >> >> What should I do to build FPC compiler which will behave the same on >> all platforms. MG> This won't work. The other sources and libs expect another alignment. MG> FPC uses the various alignments for good reason. MG> Mattias MG> _______________________________________________ MG> Lazarus mailing list MG> Lazarus@lazarus.freepascal.org MG> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus -- Best regards, TRoland http://www.rotursoft.sk http://exekutor.rotursoft.sk _______________________________________________ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus