Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

Selection already changed in AfterInPlaceEditOperation with TElTreeInplaceComboBox

Hi,

we are using a TElXTree with EplorerEditMode set to true. After exiting a TElTreeInplaceComboBox via click on another row, the TElXTree's .Selected.Index will already have the new index value when arriving at the editor's .AfterInPlaceEditOperation event.
With the others (at least TElTreeInplaceEdit, TElTreeInplaceCheckBox), the Selected.Index will still have the old value.

The difference also becomes obvious with TElxTree.OnItemFocused:
  • with e. g. TElTreeInplaceEdit it's AfterInPlaceEditOperation -> OnItemFocused
  • with TElTreeInplaceComboBox it's OnItemFocused -> AfterInPlaceEditOperation
I'd expect the sequence to always be the first one, especially if "The AfterOperation methods are bound to OnExit events of the editors by default" from
still holds.

We have tested with Delphi 11.3 + LMD 2022.10 and 13.1 + 2025.4 (the older one also has the "no parent window bug" with the CheckBox, which seems to be irrelevant in this regard, though)

Can this be addressed or am I missing something/should not rely on the sequence?

Thanks for checking and all the best,
Stefan (Konzeptum)

Comments

  • 2 Comments sorted by Votes Date Added
  • Hi,

    Thank you for the report. Need some time to look.
  • Some code in the combo box related inplace-editors are executed synchronously. Via sending message to itself (PostMessage) way. Most probably this is made intentionally, but currently I cannot find out why exactly. So, I've added new SyncCompleteOperation global variable, which can be set to True to call the corresponding internal code synchronously (like in other inplace-editors).  You are welcome to test it. 

    We plan to publish next minor release soon, and this workaround will be included in it.
Sign In or Register to comment.