In NAV 2009 I used a custom control add-in to enable timers in the Role Tailored Client. NAV 2013 ships with a control add-in that is called PingPong. In upgrading one of my solution to NAV 2013 I wanted to remove the custom control and introduce the PingPong instead.
The control requires a name and as the standard functionality does I use the name PingPong. The code I had in the – OnControlAddin trigger is now moved to a new trigger, PingPong::Pong. The new timer does not work the same way the old one does. The method used is similar to the new method in the Job Queue where the sleep function is used instead of a regular timer. By executing Currpage.PingPong.Ping(500) a new thread is started that sleeps for 500 milliseconds and then fires the trigger PingPong::Pong. Hence the add-in name. When all required code in this trigger has been executed another Ping is required to thow the next ball.
This is all good if the application is only using one timer. I saw that if I already had one PingPong working then in the subsequent page PingPong did not work. The good news is that the timer control add-in that I created for NAV 2009 also works in NAV 2013. The page that I open from the page running PingPong will continue to use the timer add-in that originated from Freddy and I changed a little bit.