Hi ASBZone
The program used to run fine, and an older version driving a more complicated machine (two lasers instead of one), ran fine. I can't put my finger on a specific point because I butchered and rewrote a lot of the code before it was in a state to run again.
The older version had one LazSerial, this one has two - one speaks to a laser and the other to an Arduino Mega. BUT I kill the timers driving the serial components before calling the dialog and it makes no apparent difference.
Umm, code .... I think that there are 10,000 to 20,000 lines . A lot anyway. Until I narrow it down a bit, that's probably beyond what you want to see! ;-)