我在过程 A  的程序中间需要调用 另一个过程 B,只不过我希望 过程 B 发生在 过程A 结束后。
在 PB里 可以使用 POST B()的方式,让这个调用发生在 A 过程完全结束后。而不是调用 B 以后再返回 A 中来。DELPHI 中有类似的方法吗?在 TIMER 事件里最需要使用这样的方法来调用其它过程。这里有哪位高手可以帮我解决这个问题吗?谢谢! 

解决方案 »

  1.   

    WaitForSingleObject,API函数
    DWORD WaitForSingleObject(    HANDLE hHandle, // handle of object to wait for 
        DWORD dwMilliseconds  // time-out interval in milliseconds  
       );
     
      

  2.   

    把B放到一個線程裏面去。先掛起,執行完A,再執行B
      

  3.   

    谢谢各位热心。可能我说的不准确,我再说的详细一点儿。我现在的问题是在过程 A里调用 过程B,过程B 里也调用 过程A;因为这会形成死循环,必须 让 过程A 中调用过程B时,过程A 结束以后,过程B才能执行。在 PB里这样的调用经常使用。包括调用事件。比如
    事件A
    开始

    post event u_itemchanged(ROW,DWO.name,DATA)
    过程C
    过程D

    结束这个代码的执行结果是事件A开始 -> 过程C -> 过程D -> 事件A结束 -> 事件u_itemchanged发生。3楼的答案,可能可以解决我的问题。但我不知如何让线程挂起,3楼 starluck 可以帮忙贴示例代码吗?多谢。我先到网上搜索一下让线程挂起的程序。