Hello Jono,
Instead of using a single line with a 10-minute timeout, you can organize a loop with a WaitProperty call in it. For example, you can call WaitProperty with a one-minute timeout, until the total waiting timeout is greater than 10 minutes. See the sample code below:
var alarmList = Aliases["Nano_UI"]["NanoFrame"]["MainPanel"]["ModulePanel"]["AlarmsTabs"]["AlarmsTabControl"]["Alarms_ActiveAlarmsTab"]["ActiveAlarmsPage"]["ActiveAlarmsSplitContainer"]["AlarmsListSplitterPanel"]["ActiveAlarmsList"];
var totalTimeToWait = 600000;
var result = false;
var endTime = GetTickCount() + totalTimeToWait;
while (GetTickCount() < endTime)
{
if( alarmList.wItemCount > 0)
{
//your code to process alarms
}
result = Aliases["Nano_UI"]["NanoFrame"]["MainPanel"]["ModulePanel"]["SystemTabs"]["SystemTabsControl"]["System_PJsTab"]["ProcessJobsPage"]["SYS_processJobsSplitContainer"]["SYS_PJsSplitterPanel1"]["ProcessJobListView"]["WaitProperty"]("wItemCount", 0, 60000);
if(result == true)
break;
}
In the sample, I used the Win32API.GetTickCount method to obtain the current number of milliseconds.