... loSysTray = createobject("mySysTray") loSysTray.Tag = "Run" do while loSysTray.Tag == "Run" read events enddo ... * Proc Of Class Definition for mySysTray PROCEDURE icondblclickevent this.RemoveIconFromSysTray this.Tag = "End" CLEAR EVENTS ENDPROCIt works but I'm still not sure why the read events doesn't continue to read the systray events. According to Fox Help, read events is supposed to read events until a clear events is issued. My code never issued the clear events. So the mystery remains but the program works.