VB6用于错误行为上的循环

VB6用于错误行为上的循环,vb6,loops,Vb6,Loops,在VB6中,我在Form_Load事件中有以下代码行: DOSOMETHING() MsgBox "Done" DOSOMETHING()是一个有缺陷的函数,我希望它总是会崩溃。当我运行该应用程序时,它将执行其操作并崩溃,而不显示MsgBox 但当我使用循环编写时: Dim X as Integer For X = 0 to 1000 DOSOMETHING() MsgBox "Done" Next X 应用程序永远不会崩溃。我认为这与延迟有关,所以我也尝试在循环中添加睡眠

在VB6中,我在Form_Load事件中有以下代码行:

DOSOMETHING()
MsgBox "Done"
DOSOMETHING()是一个有缺陷的函数,我希望它总是会崩溃。当我运行该应用程序时,它将执行其操作并崩溃,而不显示MsgBox

但当我使用循环编写时:

Dim X as Integer

For X = 0 to 1000
    DOSOMETHING()
    MsgBox "Done"
Next X
应用程序永远不会崩溃。我认为这与延迟有关,所以我也尝试在循环中添加睡眠,但没有效果

所以我的问题是,在VB6中的For循环中是否有一个特殊的“下一步继续出错”

附言:

如果有人对我问这个问题的原因感到好奇,我试图通过多次调用函数来重现一个间歇性错误。所述功能用于检查管理员功能。关于函数的更多细节


谢谢

尝试在调用DoSomething后插入
DoEvents
。这将导致o/s,允许处理其队列中的事件,并可能使函数完成或失败!返回调用父对象之前。

尝试在调用DoSomething之后插入
DoEvents
。这将导致o/s,允许处理其队列中的事件,并可能使函数完成或失败!返回其调用父级之前。

我不知道它是从Form_Load调用的。也许稍后在Form\u Load或Form\u Activate中进行的一些初始化会导致它不会崩溃。

我认为这可能与它是从Form\u Load调用的事实有关。也许稍后在Form\u Load或Form\u Activate中的某些初始化会导致它不会崩溃。

您知道它在DOSOMETHING函数的何处崩溃吗?根据你的另一个问题,这似乎比它是否在循环中崩溃更相关。你知道它在DOSOMETHING函数中的何处崩溃吗?基于你的另一个问题,这似乎比is是否在循环中崩溃更重要。我同意Kanju的观点,切换事件会改变函数的行为。但是看看你之前关于fresedapi调用的问题,你关于ByVal的问题可能已经全部解决了。我同意Kanju的观点,切换事件会改变函数的行为。但是看看你之前关于fresedapi调用的问题,你关于ByVal的问题可能已经解决了。