我在程序进入循环前将一些控件的enabled:=false
退出循环后改回来
但在退出循环后发现如果在循环时点击了button退出后不是会触发onclick
我不想应该怎么做呢?

解决方案 »

  1.   

    在循环体里加上:
    Application.ProcessMessage;
      

  2.   

    你说清楚点啊,,,最好把代码发上来看看,我有点不明白你的意思,
    如果照你上面所说是在循环中的代码占用了系统资源,就像你点了
    退了按钮,程序没有把就对吗?如果是这样的话在你的循环语句中
    的适当位置加上Application.ProcessMessage;就行了....
      

  3.   

    Application.ProcessMessage;
    我知道 但我在循环中根本不想去响应窗体
      

  4.   

    循环时不处理消息,程序怎么能收到click消息呢?
      

  5.   

    不好意思打错一个字  不->还
    我在程序进入循环前将一些控件的enabled:=false
    退出循环后改回来
    但在退出循环后发现如果在循环时点击了button退出后还是会触发onclick
    我不想应该怎么做呢?
      

  6.   

    hkbarton(宁静至远||淡泊明志)说的不错 但我的这个程序仅仅只有一个功能用多线程不值啊
    但我觉得要处理的响应应是存在一个队列中吧 我们应该可以用一种方法来清空这个队列
      

  7.   

    进入循环隐藏鼠标,退出显示
    showcursor
      

  8.   

    for i := 0 to 100000 do 
    begin
     Application.ProcessMessage;
     //ur operation
     Application.ProcessMessage;
      //ur operation
    // it will take ur some time to do it
    end ;
      

  9.   

    在Button的OnClick事件中写入:begin
      If not ButonName.Enabled then Exit;
      ButonName.Enabled := False;
      执行循环.....
      ButonName.Enabled := True;
    end;