I've got a very particular problem with the TMSFMXTreeView-component.
In one of my apps, I am using a simple context-menu-construct in conjunction with the Treeview that works as follows:
MouseDown-event starts 500ms-TTimer, MouseUp stops the Timer and does something if the Timer hasn't run out yet.
Should the Timer run out first, the context menu is made visible instead.
The result: Tapping an Treeview-Item does something, whereas holding the Treeviewitem pressed opens the context menu. An old construct, but one that has worked so far reliably.
The problem is as following:
On newer Iphones such as the Iphone 11 or 12 series this construct behaves irregular.
Sometimes the contextmenu appears after 0,5 secs as it should, sometimes it takes as long as 5 secs or anything between.
Here is what I know:
- The context-menu-construct as described works perfectly with other components, such as for example Buttons, Listboxitems etc.
- The TTimer works perfectly normal. Logging the events shows that about 500 + 10-20 ms pass between starting the Timer (Intervall = 500) in MouseDown and the end of OnTimer.
- A different, but functionally equivalent construct utilizing an anonymous Thread with Sleep(500) and Queue etc has exactly the same problem.
- The context-menu ist not the problem: Even applying a minor change such as changing the text of a label has the same problem.
- The construct works perfectly fine on Android in general and apparently on older IOS-devices such as for example the IphoneX (All devices have IOS 14.X).
So far I have only wild speculations for what the problem might be since it is such a particular combination of factors, therefore my hope is that you might have an idea about what might be the issue.
The version of the TMSFMXTreeview-component in usage is 22.214.171.124.