有两个程序,A1和A2,它们都在代码中调用函数B:
function B: boolean;
begin
// do other stuff
end;
procedure A1;
begin
// do stuff
if b then
...
// do stuff
end;
procedure A2;
begin
// do stuff
if b then
A1; // <- how to call A1 "delayed"?
// do stuff
end;
Run Code Online (Sandbox Code Playgroud)
如果A2中的条件为真,则必须调用过程A1,但是当A2仍在运行时会发生这种情况,这是我不想要的.
应该发生的是:如果A2中的条件为真,则应该完成A2,并且在离开A2之后应该调用过程A1.
一个丑陋的解决方案是设置一个定时器,在延迟确认A2完成后调用A1.
但必须有更好的方法,对吗?
编辑:在我的情况下A1和A2是事件,所以他们没有被代码调用,我不能只是在A2完成后从调用过程调用A1.
dwc*_*dwc 12
鉴于你的约束,听起来你想在返回之前调用它PostMessage
作为最后一件事A2
.该PostMessage
参数应设置使触发A1
事件.唯一要担心的是竞争条件,但我不确定这将是Windows消息队列的问题.
归档时间: |
|
查看次数: |
1652 次 |
最近记录: |