Hi,
We have updated DevExpress from version 18.1.11 to version 24.1.9.
Since the update, a customer has the problem that the appointment planner sometimes does not display appointments.
I debugged the source and found the cause in the function TcxCustomSchedulerStorage.GetSortedList.
The problem no longer occurs when I comment out the line "TcxScheduler Event(Event).Check Calculated;" or deactivate multithreading in cxSchedulerUtils.
Attached are two videos that show the effect in our application. In the video you can see how I simulate a change in the database and then activate the scheduler window, which then automatically updates it. In our case, the scheduler is tied to a MemTable.
I analyzed the problem further and found that the result of the function "TcxCustomSchedulerStorage.GetSortedList" is not sorted correctly sometimes. Attached is a screenshot that compares the incorrect result with the correct result.
The incorrect sorting then leads to the wrong result in the "TcxCustomSchedulerStorage.InternalGetEvents" function.
We decided to disable multithreading for the scheduler to resolve the issue.
Any ideas?