我有一个引擎,其中包含一个程序集列表。程序集是在引擎初始化时从已注册的 AssemblyClasses 列表中创建的(因此它们在运行时是固定的)。可以触发程序集以使用 ParameterObject 重新计算其结果。
当 Assembly 的 ParameterObject 的属性发生更改或重新计算完成时,将向 ListenersList 中的所有接口触发通知事件 (ParameterChanged resp ResultsChanged)。每个大会都有自己的听众名单。
引擎将自己注册为所有程序集的侦听器之一,现在的问题是,当创建程序集并因此创建初始 ParameterObject 并触发 ParameterChanged 事件时,引擎尚未将自身添加到侦听器列表中所以它不会得到初始 ParameterObject 的通知。
解决这个问题的最佳方法是什么?我应该将引擎的引用添加到构造函数(将引擎引用为 marjan 建议的侦听器),还是在创建每个程序集后显式调用引擎的事件处理程序...
顺便说一句,使用德尔福 XE3
感谢任何建议