RT

解决方案 »

  1.   

    加变量判断,第一次执行时置为True,代码中判断是否为True,是就不执行代码
      

  2.   

    我以前也是用变量的,后来改成以下代码了,你是用来作防递归的触发吗?
    procedure TForm1.edt1Exit(Sender: TObject);
    begin
       edt1.OnExit:=nil;
       try
         edt1.Text:='AAA';
         //这里的代码可能会再次触发此事件,但这样不会了
       finally
         edt1.OnExit:=edt1Exit;
       end;
    end;
      

  3.   

    或者使用控件的tag属性。第一次执行后给tag赋值~
      

  4.   

    重复触发是指第一次触发的消息还没有处理完,第二次就又来了,这个也叫消息重入,绝大多数是由于使用了Application.ProcessMessages导致的,检查一下。