设有:
TA=class(TComponent)
public
procedure DoActionA;
end;
TB=class(TComponent)
private
FA:TA
procedure ResponseForDoActionA;
published
property A:TA read FA write FA;
end;
在TB中有一个ResponseForDoActionA方法,它是在TB.A指向一个TA的实例时对TA.DoActionA方法的调用的响应。但是TA怎样将该事件通知给TB呢?TB如何用ResponseForDoActionA来响应来自TA的事件呢?
高手!帮帮忙!
因为A同B是一对多关系,则A中需要维护多个B信息。
每个B指向A的时候,A中就在一个LIST中相应维护一个B的引用,
当A中事件触发时,A就通过LIST中的信息通知一个个B。。
做法。
方法1,在A的LIST中维护B的对象。因为在VCL中,TOBJECT继承下的来所有对象都支持消息,
A可以通过自定义一个消息触发B中事件。
方法2,在A的LIST中只维护B的事件函数指针。
方法3, 在A的LIST中维护B的事件接口,