用定义一个函数,条件是只有这个函数执行结束后才允许其他事件执行.
比如:关闭窗体的时候,我要先判断这个函数是否执行结束.没有执行结束的时候要等待.
请问这样的函数怎么写.
等待函数执行完的过程怎么做.
不要这种:
while  没有执行完 do
  Application.ProcessMessages;

解决方案 »

  1.   

    不用什么原子,只要定义一个参数Cando:boolean,然后定义一个过程
    procedure IsCando;
    begin
      Cando:=True;
    end;
    别的地方只要做判断
    if Cando then
    begin
      Cando:=False;
      ....
    end
    else
      ...
      

  2.   

    这样,只要那个过程没执行,Cando一定是False,执行了才是True
    忘了说明一下:那个变量是全局的,初始化为Flase
      

  3.   

    可以 用事件CreateEventfunction yourfun
    ...
    SetEvent其他地方
    WaitForSingleObject(theEvent...你的这个函数是其他线程还也是 主线程的??
      

  4.   

    事件处理过程是一函数指针,你条件函数中给事件函数赋值,比如button1的click事件
    条件函数中可以这样写:
    if 符合条件 then
      button1.Onclick = ClickProcedure
    else
      button1.Onclick = nil;给Onclik初值设为nil,则,没有执行你的条件函数时,Button的OnClick事件不会执行任何
    动作的
      

  5.   

    TO: beyondtkl(大龙驹<暗黑系魔法师&&赏金猎人>) 
    假如我的窗体上有个ListView,我要在给ListView赋值之后在关闭窗体应该怎么做呢.我知道用WaitForSingleObject可以实现,但是我不了解这个API函数怎么用.
      

  6.   

    WaitForSingleObject 怎么用?期待