【发布时间】:2019-07-16 15:05:08
【问题描述】:
我正在寻找一个可中断的延迟事件,我希望它已经成为 Spring4D 的一部分,或者在那里很容易实现。
实现这一目标的最佳方法是什么?
这次活动可能不是正确的地方。
基本上是在找类似的东西
Event.InvokeDelayed(1000, nil); 和 Event.InvokeCancel;
procedure TTestMulticastEvent.Test;
var
e: Event<TNotifyEvent>;
begin
e.Add(HandlerA);
e.Invoke(nil); // Yes, this is the normal behaviour
// But would this make sense in Events,
// or better use other concept, like TTask.IdleWorker, e.g. ?
e.InvokeDelayed(1000, nil); // waits 1sec
Sleep(100); // Interrupts after 100ms
e.InvokeCancel; // Prevent future Event, started earlier
end;
也许我监督了一些已经可以在 S4D 中解决这个任务的东西。
罗洛
【问题讨论】:
-
这里描述的“IdleWorker”是什么意思delphipraxis.net/1305417-post11.html 我想以类似的方式开始一个事件,但能够在它真正触发之前中断它。在 S4D 中是否为此类用例做好了准备?
标签: spring4d