现在的windows程序都是事件驱动,即由系统或用户触发某个事件,然后执行一定的代码。请问,在Delphi里面有没有“变量驱动”?即当某一个变量的值改变时触发某个事件,像SQL里的触发器。
欢迎讨论

解决方案 »

  1.   

    弄个属性包一下就行了TA=Class
    private
      ii:integer;
    public
      procedure seti(value:integer);
      property i:integer read ii write seti;  
    end;
    procedure TA.seti(value:integer);
    begin
     i:=value;
     //想触发在这里实现
     //发消息 
     sendmessage(……);
     //或者直接调用
     if Assigned(FXXX) then FXXX(……);
    end;
      

  2.   

    我的意思是这个变量不是在某一个class里面,而是一个独立的变量,可以自由定义的。
    如果是成员变量么当然是属性啦。
      

  3.   

    那没有想到啥好办法定时检测吧用另一个变量保存老值然后在application的OnIdle里判断,一旦老值新值不一样,改变老值,触发其他