D
dolphinji
Unregistered / Unconfirmed
GUEST, unregistred user!
程序中用了一个MDIForm窗口和一个MDIChild窗口,还有4个线程做数据采集,线程是一直在运行的。
MessageBox是由MDIChild窗口中的按钮发起的。
现在的问题是,有时候执行到MessageBox时,不能弹出对话框,程序死掉了一般。此时跟踪线程,线程还是在运转的。是线程过于繁忙了占用了资源?
这种情况不确定在什么情况下发生。一旦出现这种情况,重启机器重启程序都不管用,但过一段时间自己又恢复正常了。
当然,不启动线程时MessageBox总没问题的。
不知道问题出在哪里?有人遇到过吗?
采集线程是从主窗口启动的:
TTest0Thread:=Test0Thread.create;
//启动线程
TTest0Thread.Priority:=tpIdle ;
TTest0Thread.Resume;
线程中:
constructor Test0Thread.Create;
begin
FreeOnTerminate:=true;
//当线程中断时,TThread 类自动释放
inherited Create(true);
end;
MessageBox是由MDIChild窗口中的按钮发起的。
现在的问题是,有时候执行到MessageBox时,不能弹出对话框,程序死掉了一般。此时跟踪线程,线程还是在运转的。是线程过于繁忙了占用了资源?
这种情况不确定在什么情况下发生。一旦出现这种情况,重启机器重启程序都不管用,但过一段时间自己又恢复正常了。
当然,不启动线程时MessageBox总没问题的。
不知道问题出在哪里?有人遇到过吗?
采集线程是从主窗口启动的:
TTest0Thread:=Test0Thread.create;
//启动线程
TTest0Thread.Priority:=tpIdle ;
TTest0Thread.Resume;
线程中:
constructor Test0Thread.Create;
begin
FreeOnTerminate:=true;
//当线程中断时,TThread 类自动释放
inherited Create(true);
end;