我的窗体伤有2个按钮
第一个按钮事件里有个函数 函数执行查询任务 很耗时 当他执行的时候 第2个按钮事件就不响应
怎么能让第一个按钮执行时 第2个按钮也能得到响应!
我知道线程可以 除了线程以外还有别的办法吗?
急用 帮帮我!

解决方案 »

  1.   

    既然楼主知道了线程的方法,我想肯定大是想要这种了。
    我这里 抛砖引玉
    var
      Form1 : TForm1;
      Stop : Boolean;
    ...
    Procedure TForm1.Button1Click(Sender:TObject);
    begin
      Stop := False;
      While Not Stop do begin
         Application.ProcessMessage; //让程序处理其他消息 就行了。
      end;
    end;Procedure TForm1.Button2Click(Sender:TObject);
    begin
      Stop := True;
    end;先点Button1,进入了死循环,这个时候点Button2,就退出循环了。
      

  2.   

    把执行查询的函数 放到死循环内 application.processmessage前就行了吧?
      

  3.   

    我试了 把函数放到button1中 去执行 然后点button2还是没有响应!
    例子在具体些好吗?