[Lazarus] EXC_BAD_ACCESS, Could not access memory

Roland Turcan konf at rotursoft.sk
Tue Apr 28 16:02:07 CEST 2009


Hello all,

I take back my previous mail, that the packed record doesn't use the
same order as it is definition. I am in time hurry and made on error,
that I was exporting the content of similar record to file to compare
and therefore I looked me as wrong one.

So it is solved.

TRoland;

<<< 28.4.2009 15:23 - Roland Turcan "konf at rotursoft.sk" >>>
RT> <<< 27.4.2009 19:26 - Mattias Gaertner "nc-gaertnma at netcologne.de" >>>
MG>> Use packed records and add gap variables.

RT> Uffff, look at this:

RT> TYPE TPackedGap =PACKED RECORD
RT>                    VarInteger :INTEGER;
RT>                    Dummy1     :INTEGER;
RT>                    VarDouble  :DOUBLE;
RT>                    VarBoolean :BOOLEAN;
RT>                    VarBoolean2:BOOLEAN;
RT>                    Dummy2     :Word;
RT>                    Dummy3     :INTEGER;
RT>                  END;


RT> ... and I would expect, that the binary representation of this
RT> definition will keep the order of variables from definition, but it
RT> doesn't.

RT> Could somebody explain what rules is applied to change the order of
RT> variables in memory?

RT> TRoland;

RT> <<< 27.4.2009 19:26 - Mattias Gaertner "nc-gaertnma at netcologne.de" >>>
MG>> On Mon, 27 Apr 2009 17:27:30 +0200
MG>> Roland Turcan <konf at 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 at lazarus.freepascal.org
MG>> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus








-- 
Best regards, TRoland
http://www.rotursoft.sk
http://exekutor.rotursoft.sk




More information about the Lazarus mailing list