请问在什么情况需要用到回调呀?
有在什么情况下,非得要用回调才能实现的事例吗?

解决方案 »

  1.   

    当然有啊。比如,主线程调用dll中的一个函数,dll中的函数执行完毕要调用主线程的另一个函数,这就是回调了
      

  2.   

    一般在 API 中使用回调。
    回调允许调用者主动调用客户程序的代码。
    它的触发机制类似抛出事件。
    举个例子:当你要系统枚举系统中的所有窗口,使用回调后,系统每找到一个窗口就把控制权交给你,由你的回调程序处理这个窗口,这样大大简化了程序。
    再比如:一个端口监听程序,如果使用回调,当有数据时,才需要运行主程序的代码。而不用回调,则主程序每隔一定时间都要去判断是否有数据到达,程序不但复杂,而且浪费资源。
    回调程序在API的地位相当于DOS的中断处理程序。
    回调程序的实质是提供一个参数作为回调函数的入口地址。由调用的函数根据地址反过来调用客户程序。
    在VB中,仅可以创建回调的客户端,方法是:
    传递回调函数时,用 AddressOf 运算符。需要注意的是,作为回调处理函数,必须在模块中,而且书写要很小心,应为回调的错误VB不能处理,会导致开发环境的崩溃。
    至于回调的服务端,建议用 C++/Delphi等书写。
    说了这么多,不知道楼主明白了没有。呵呵……
      

  3.   

    请问:"主线程调用dll中的一个函数,dll中的函数执行完毕要调用主线程的另一个函数,这就是回调了"
    写程序,为什么要在DLL中要调用主线程的另一个函数?我的主程序调用DLL中的函数,取函数的返回值再做处理不就行了吗?