Re: FastMM 4.13 Exceptions

Hi Mark,

>> If you look at the code in that procedure you will see that a range check
>> error is only possible there if the data area of your application has
>> been corrupted or there was a compilation error (which is unlikely).
>> Since FastMM has not even been installed at that stage it cannot be the
>> fault of FastMM. I think perhaps there is another unit that is
>> initialized before FastMM4.pas that contains a buffer overrun bug.
> How should this happen? FastMM is the first unit in my project file.

My point is that it is not possible for a range check error to occur in the
following code:

for i := 0 to high(SmallBlockTypes) do
if not Assigned(SmallBlockTypes[i].UpsizeMoveProcedure) then

The fact that you report a range check error on the second line leads me to
to the conclusion that your problems are not due to a bug in FastMM,
(a) A range check error on these two lines is ordinarily impossible.
(b) This is the very first code that is executed in the initialization
section of FastMM4.pas, long before it is even installed.

Without having seen exactly what your application does I really can't tell
what is going wrong. Sorry.