请问在什么情况需要用到回调呀?
有在什么情况下,非得要用回调才能实现的事例吗?
有在什么情况下,非得要用回调才能实现的事例吗?
解决方案 »
- 谁有研究过SMP(开源杀软)????
- 用setup factory做完安装程序后,执行碰到的问题拒绝访问(好象在没有vb的环境下)?
- 如何像word一样将图文混排的内容保存到access数据库。
- 我移植到我的程序中總是報錯
- 问一个关于存储过程的问题
- 大家来讨论::不结帖就扣信誉分合不合理???????斑竹------
- VB如何判断WORD中有艺术字?
- vb无效授权说明,麻烦大家帮帮忙!!!!!谢谢
- 急问:关于MSDN安装问题
- MSDN FOR VB 6.0 为什么不能使用了
- 菜鸟的一个弱智问题:帮忙看看这条select语句错在哪里啊
- 怎样用变量控制窗体?????!!!!!?????????????
回调允许调用者主动调用客户程序的代码。
它的触发机制类似抛出事件。
举个例子:当你要系统枚举系统中的所有窗口,使用回调后,系统每找到一个窗口就把控制权交给你,由你的回调程序处理这个窗口,这样大大简化了程序。
再比如:一个端口监听程序,如果使用回调,当有数据时,才需要运行主程序的代码。而不用回调,则主程序每隔一定时间都要去判断是否有数据到达,程序不但复杂,而且浪费资源。
回调程序在API的地位相当于DOS的中断处理程序。
回调程序的实质是提供一个参数作为回调函数的入口地址。由调用的函数根据地址反过来调用客户程序。
在VB中,仅可以创建回调的客户端,方法是:
传递回调函数时,用 AddressOf 运算符。需要注意的是,作为回调处理函数,必须在模块中,而且书写要很小心,应为回调的错误VB不能处理,会导致开发环境的崩溃。
至于回调的服务端,建议用 C++/Delphi等书写。
说了这么多,不知道楼主明白了没有。呵呵……
写程序,为什么要在DLL中要调用主线程的另一个函数?我的主程序调用DLL中的函数,取函数的返回值再做处理不就行了吗?