TAdvSearchEdit and FastMM4 issue

When using the full version of FastMM4 (v4.992) in a project, TAdvSearchEdit raises exceptions.

Rad Studio Rio 10.2.3
Delphi Win32 target
Component Pack 9.0.4

To reproduce, drop a TAdvSearchEdit on a form.

Add FastMM4 to the project.

Set FastMM4 options to include "FullDebugMode".

Run project, close - on exit the project raises an exception.

It looks like when the TAdvSearchEdit is freed, it calls

function TAdvSearchEdit.GetImages: TCustomImageList;
  Result := FEdit.SearchList.Images;

But at this point, FEdit does not exist.

We're not sure why in this case Images are still accessed. It cannot be seen when not using FastMM.

We have added an improvement to protect against this that will be included in the next update.

One other bit of info - with FastMM4  FullDebugMode enabled in project, if I also enable "CatchUseOfFreedInterfaces" then the exception disappears.   The description of this option is:

Set this option to check for user code that uses an interface of a freed object. 

Note that this will disable the checking of blocks modified after being freed
 (the two are not compatible). 

If this points to anything I can dig into for you, let me know.

We're releasing an update today, so let us know your findings with this update.

Just tested - it no longer blows up in the simple test project.

However, I'm now getting

Error creating form: Access violation at address 50B0DA88 in module 'vcl250.bpl'. Read of address 000002BC.

When my production project's main form loads in my- I can't run the program or edit the main form...
(just FYI - the main form has an AdvInputTaskDialog, but does not have an AdvSearchEdit)

Do you have details / step by step instruction / sample project with which we can reproduce this here?

Not a simple project... 

This project has a base form  that all other forms inherit from.
It has a datamodule with your security components on it ("uses" in base form.
It has about 20 forms, and 6 other datamodules.

The main form is the only one that cause the "bpl20" issue and refuses to parse the dfm.

I have code to finish for tomorrow that updates pricing table data - I have to finish that today.

I rolled back to previous component pack - project loads form correctly.

I'll back everything up, reinstall - then start hacking away at my main form to see what's breaking the load.

Hopefully from there I can build you a test project - but I won't be able to "hack away" until the weekend...

Is there a simple patch (eg one or two files) to the FastMM4 issue that started this post I can apply with the entirety of v9.0.5.0?

The version of TAdvSearchEdit in v9.0.5.0 is the latest we have. We have no newer one.

Ok, this weekend I'll also reinstall and compare against for diffs in AdvSearch Edit.pas, AdvSearchList.pas etc to see where the changes came in - and try to "back port" to manually

Thanks for quick follow up Bruno.
I just installed and everything is working again.


It's a win - I'll take it!