如何在创建时使用拥有对象初始化ListenersList

时间:2013-02-12 14:12:37

标签: delphi

我有一个引擎,其中包含一个程序集列表。程序集是在Engine的初始化时从已注册的AssemblyClasses列表创建的(因此它们在运行时被修复)。可以使用ParameterObject触发程序集重新计算其结果。

当Assembly的ParameterObject的属性发生更改或重新计算完成时,会向ListenersList中的所有接口触发notify事件(ParameterChanged resp ResultsChanged)。每个议会都有自己的听众名单。

引擎会将自己注册为所有程序集的一个侦听器,现在的问题是,当创建程序集并因此创建初始ParameterObject并触发ParameterChanged事件时,引擎尚未添加自身到侦听器列表,因此它不会被告知初始ParameterObject。

解决此问题的最佳方法是什么?我应该将引擎的引用添加到构造函数中(将引擎引用为Marjan建议的监听器),或者在创建每个程序集后显式调用引擎的事件处理程序...

顺便使用Delphi XE3

感谢任何建议

0 个答案:

没有答案