Shift Management: Unexpected crash on IShifts.GetItem
Hi guys,
I'm having big troubles with shift management.
In my app I have these few lines that reads informations from the Calendar in order to keep track of "today" shifts.
_shiftsToday = shiftFilter.GetShifts();
if (_shiftsToday != null)
{
IShift theShift;
int howManyShifts = _shiftsToday.Count;
SortedDictionary sortedShifts = new SortedDictionary();
for (int y = 0; y < howManyShifts; y++)
{
try
{
// this line sometimes cause a CRASH
theShift = _shiftsToday.GetItem(y);
if (theShift != null)
sortedShifts.Add(theShift.StartTime, theShift);
}
catch (Exception e) // on Crash this execption is never catched, RT crashes immediatelly :-(
{
Logger.LogError(e, null);
}
}
}
Inside the screen, where is shown the calendar, I have a Save Button (only dev users can see it) which executes the code above.
zenon runtime crashes on line :
theShift = _shiftsToday.GetItem(y);
without entering the catch clause.
I did a test putting the execution of the same code on the end function of the screen. In this case it always work.
So I think that is better to leave the screen before start using ShiftManagement APIs.
What do you think? Is there a solution?
PS: zenon 7.60 b46501 (32bit)
This is a migrated post! Originally posted on 06.08.2018 by user carlo.chiari. Please be aware that information can be outdated.