所以,我有一个带有事件的Delphi对象,它是对procedure()"的引用。 通常我可以这样做来分配代表。
MyObj.OnBooom:= HandleOnBooom;
现在我想要测试事件是否被调用。因此,对于依赖于接口的Delphi Mocks,我将创建一个具有过程" OnBooom"的接口,将接口传递给TMock对象。然后这样做。
MyObj.OnBooom:= FMockCaller.Instance.OnBooom;
但这不会编译,因为显然Delphi认为,在右侧我只是调用接口的过程,而不是想将它分配给左侧。
那么,有没有办法让这个分配工作?还是有其他方式让Delphi模拟这个事件吗?感谢。
答案 0 :(得分:2)
您可以使用匿名方法:
MyObj.OnBooom := procedure begin FMockCaller.Instance.OnBooom; end;