如何在循环中让窗口句柄响应消息
自己写的类,在内部用AllocateHWnd注册了一个窗口句柄
在某个函数中,要等待某个状态后才返回,于是用到了while
while status <> 0 do;
现在问题是,在while的时候,其他地方没法响应消息,没法处理这个status
导致这个循环变成了死循环,显然这里是不能用Application.ProcessMessages的
不知道有什么简单有效的解决方法?
[最优解释]
用事件对象。
"while status <> 0 do;" 换成 "WaitForSingleObject(事件对象句柄, INFINITE)".
接收到消息改变status的时候调用SetEvent,这样WaitForSingleObject就返回了。
[其他解释]
uses Windows;
var msg:Tmsg;
GetMessage(msg,0,0,0);
[其他解释]
用多线程的方法吧。
[其他解释]
uses Windows