The first is that the page "behind" the popup is accessible.
The second is that it's much harder to loop though a set of items.
The attached export shows how both of these problems are easily solved in RDMLX.
DoubleClicking on a list item shows a details popup. This has been defined as AutoClose(False) which prevents the popup closing whenever there's a click outside the bounds of the popup. It also has a ShroudStyle defined which covers the whole UI, stopping clicks being received by the main page. These two effectively make the popup modal in appearance. The popup now has to be closed before the user can access the main page.
The popup also has buttons to navigate forwards and backwards through the list of employees. When one is clicked, the event is processed by the main page and the appropriate details are passed to the popup to show. The use of event driven processing is necessary because despite the appearance of the popup being modal, it is still just a panel. This means that as soon as the ShowPopup method has finished processing, the next line of code will be processed. Any attempt to show the popup within a loop will result in the loop completing almost instantly.
So, code similar to that below will process the whole of the list with the result that only the last set of details will appear to be shown
Code: Select all
SelectList Named(#Employees) #Popup.ShowEmployee(#ID) Endselect