我在程序中设置了一个条件,我想当满足这个条件时,就执行某一特定的函数,这样的功能可以用Timer实现,有没有其他方法。有点类似于用条件触发事件的意思。不知道我有没有说清楚

解决方案 »

  1.   

    1、开个线程,然后利用WaitForSigleObject
    2、利用自定义消息
    例如const WM_MYEVENT=WM_USER+10;type
      TForm1 = class(TForm)
      procedure WMEVENT(var Msg: TMessage); message WM_MYEVENT;
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    .....procedure TForm1.WMEVENT(var Msg: TMessage);
    begin
      //执行你的函数
    end;
     
    发送消息
    if 满足条件 then
     PostMessage(self.handle,WM_MYEVENT,0,0);
      

  2.   

    事件的定义不就是这样的吗
    你把设置这个变量的值的方法做成一个函数(property),就可以了