【发布时间】:2015-02-26 20:46:06
【问题描述】:
我在一个 VB6 应用程序中有一个函数可以强制程序无法访问。有时,当函数中发生错误时,最终用户不会收到结果,并且可能仍然认为后台发生了某些事情。
因此,我正在考虑添加一个超时功能。我知道该函数应该在 1-2 秒内返回结果,如果没有出现错误,我们必须中断函数并返回错误。
如何在VB6中实现这种“超时”?
【问题讨论】:
-
当您发布与您的问题相关的代码时,您更有可能得到答案。如果没有您的代码,试图回答的人必须猜测您在做什么,并且只能给出一般性的答案。
-
延迟的原因是什么?这是一个非常长的计算需要大量运行时间,还是等待网络中的另一台计算机响应?
-
函数来自DLL,它正在等待另一台计算机的响应。我会对某种类型的包装器感兴趣,如果没有找到响应,它会在 10 秒后超时。代码的基本示例:“Call CheckConnection()” - 运行时必须从另一台计算机获得响应,而没有它的功能不断搜索。
-
您可能对 VB6 不走运。对 DLL 的调用是“进程内”的,因此线程被阻塞并且不能被中断。
-
我明白了,所以它必须在 C++ 中完成,其中编写了 DLL。
标签: vb6