紧急求救!!!(100分)

  • 主题发起人 主题发起人 常山赵子龙
  • 开始时间 开始时间

常山赵子龙

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序中有一个名为a的过程,里面循环调用一个过程b,但过程b极费时,导致一运行过程a程序就像死机,我用了许多方法都没有很好解决。不是这里不对就是那里不对。请各位帮帮忙!!!。请详细一些,有例程更好。
我的要求是;
1、能够命令b暂停并能够命令其继续。
2、能够命令a暂停并能够命令其继续。
3、以上的命令都由几个按钮发送。
 
存储过程都是在数据库服务器上执行的,调用之后在客户端是没法使它暂停的
 
要它响应事件停下来比较方便,要挂起要用线程吧!
Dob=true;
a 的结构如下:
function a
begin
for ....
begin
if notdo
b then
exit;
...........
application.processmessage;
b
..................
end;
end;

按钮的点击中加入:
do
b:=false;
 
加入application.processmessage;
 
楼上说的对,你的a和b中是不是有循环呀?如果有,请在循环中加入
application.processmessage;该语句可释放CPU,以便响应其它WINDOWS消息。
在循环体中使用一个标志,若为真则退出该进程。在点击某按钮时把该标志设
为真。 如有不明之处,上QQ找我:584740
 
使用线程拉,除此之外好像也没有什么办法.
线程里面设定两个变量比如 a_cut, b_cut,
然后判断为True值才进行。。。
线程外使用按钮1 a_cut := false
线程外使用按钮2 b_cut := false
这样就OK拉,我写了一个群发软件,嘿嘿,就是这样干的。
 
多人接受答案了。
 
后退
顶部