怎么在我写的组件里监听其他组件的事件?
如:
  TMapNavigation = class(TComponent)
  private
    FCurrentMainMapZoom: Double;
    FMainMap: TMap;
    FNavigationMap: TMap;
  published
    property MainMap: TMap read FMainMap write SetMainMap;用户设置了MainMap后,我想组件在MainMap发生了chang事件后,组件能知道。
使用了一下代码后可以知道,但是他自身的onchang事件就不执行了。
  MainMap.OnMapViewChanged := MainMapViewChanged;
 怎么能使他本身的Onchang时间能执行,并且在他执行onchang事件时,组件的MainMapViewChanged函数也能执行。

解决方案 »

  1.   

    FOldMapViewChanged := MainMap.OnMapViewChanged;
    MainMap.OnMapViewChanged := MainMapViewChanged;MainMapViewChanged的实现最后加一句
    if Assigned(FOldMapViewChanged) then FOldMapViewChanged...
      

  2.   

    不可以直接引用吗?先在timer里引用MainMap的onchange事件,同时屏蔽MainMap的onchange事件
      

  3.   

    sephil:
      请问
      FOldMapViewChanged是个变量吗,怎么定义他呢
      还有if Assigned(FOldMapViewChanged) then FOldMapViewChanged...这句后面的省略号是什么意思,是不是代表下面还可以有语句但是这句已经完了吧
      谢谢你。
      

  4.   

    FOldMapViewChanged:Tnotifyevent;从大富翁那里找到的答案。