TTMSFNCObjectInspector Color Inplace Editor raise Invalid Argument

TTMSFNCObjectInspector Version 1.1.5.8
Problem with the inplace Editor for Colors.
This happens when compiled for MacOs

When the color inplace editor closes, it will change the color of the object. (played with the font color of a TLabel), but it will additionally raise an exception "Invalid Argument"
When debugging, it starts at
TTMSFNCObjectInspector.DoInplaceEditorTimer
->StopEditing
->CloseInplaceEditor
->TFmxObject.SetParent
->TFmxObject.RemoveObject
.....
The error is raised in FMX.forms.TScreen.SetactiveForm at the end.

It happens not always, but like every 2nd or 3rd time, when playing with the color inplace editor.
My guess here is, that it is related to the timer interval of 1ms, which might delay different on MacOs environments.
Not sure.

It causes the whole application rendered useless.

One additional info..The form has also non FNC components like normal FMX components..Like a TMSFMXTreeview for instance...But that should not cause any issue I guess...

Same happens with your Demo..

Played a bit more with your Demo.. Same thing happens with the stroke dropdown..Maybe this is a general issue with all (more complex) inplace editors....

Hi,

Thanks for reporting, we are currently investigating this.

Additional question, are you using Delphi 11?

No, using 10.4 Update 2. Version 27.0.40680.4203
Deployed to macOS Big Sur (11.5.1)

We have investigated this here and couldn't immediately see a cause for this issue, so we are allocating more time to further investigate this.

Pieter, thanks for the update. Do you have some hints already, where it possibly could originate from? Was not able to find a quick obvious bug also. Somewhere buried..

It's something related to destroying the inplace editor and the dropdown form (TTMSFNCPopup) and at the same time. No idea yet how to solve it. We are still investigating.

Hi,

We have applied a fix for this issue. The next version of TMS FNC UI Pack will address this. The update will be released today.

HI Pieter, that sound great. What was the actual problem then ?

Before destroying the component, the Parent was set to nil, and the parent is required to allow the popupform that was destroy send a notification to remove it from the active screen forms.

Tricky one..Easy to overlook..Many trees in the TMS forest already..haha.. Great support as usual. Thank you

1 Like