现在有两个单元UA,UB,并分别有函数A,B。现在函数A调用函数B,而B函数是一个异步函数,它的数据在UB中的函数C中获取。每次都是在函数A执行完成后才执行函数C,现在我想让函数A用函数C取回来的数据,即在A函数未完成时执行函数C,如何做到?谢谢

解决方案 »

  1.   

    看线程。。
    http://topic.csdn.net/u/20110217/11/56577c65-2e77-4f8f-b541-0be47cdb4d60.html
     
      

  2.   

    如果都是自定义消息的话 可以加入
    ProcessMessages
      

  3.   

    代码太多了……
    Unit A;
     
    public
      process A;process A;
    begin
      process B;
    end;Unit B
    public 
      process B;
      process C;
    process B;  //异步函数
    begin
      //函数体;
    end;process C;
    begin
      //取数据
    end;现在我的A 要用到C的数据,可是C的执行总是在A函数都执行完了才执行的,请问如何使A能用到C函数的数据?
      

  4.   

    函数B会异步处理数据,那么数据处理完成没有怎么判断?
    应该有个标识F,如果异步处理完成了,可以调用C了,那么F置为真
    那么在函数A中,可以弄一个死循环
    while not F do
      sleep(1);
    Do 函数C
    return;