点Form主窗口的关闭为何没有用?
本人初学。
现有一个button1click函数下的while语句中有Application->ProcessMessages() ;
点了button1后弹出另一个窗口在运行,我很奇怪的是,然后再点form主窗口的关闭却没有用?不是按理应该可以响应的么?
之后我中断了button1的while循环,主窗口却关闭了。这说明,之前我点击主窗口的关闭有被记录下来,等循环一结束马上就执行了。但为什么要等循环结束才执行呢。。不明白。。
[解决办法]
设定一个布尔标志,代表是否允许在循环执行期间关闭窗体,然后在循环中每次都判断这个标志,如果成真就退出循环。在窗体的关闭事件中将这个标志置为true就行了。当然,循环体内的Application->ProcessMessages()必须存在。