是什么导致VB6"运行时错误'5':无效的过程调用或参数"

use*_*212 6 vb6 error-handling runtime-error citrix

在VB6中,用户偶尔会收到此错误,我无法重现它.

Run-Time Error '5': Invalid Procedure Call or Argument

我正在引用"MSWord 10对象库",有时这个错误发生在应用程序打开MSWord 2002之后的某个时刻.但是,这个应用程序多年来引用了MSWord 10对象库,这个错误刚刚开始发生在最后几个个月.

我假设我在某个地方引入了一个bug,但不知道是什么原因导致它.当我站在那里时,错误不会经常发生并且不能由用户再现.该错误迫使应用程序完全关闭.

用户正在运行Windows XP

CRe*_*lts 5

从使用VB6的内存(现在使用.net),这可以指向用户计算机内存不足或您的代码无法获得word应用程序的句柄.

如果您无法在Visual Studio中产生问题并且不确定代码中的哪一行导致问题,则最好在导致问题的代码周围添加错误处理程序.

在sub的顶部有问题

   On Error GoTo MyErrorHandler
Run Code Online (Sandbox Code Playgroud)

然后在底部放

   On Error Goto 0
   Exit Sub
MyErrorHandler:
   MsgBox "Error " & Err.Number & " (" & Err.Description & ") at line " & Erl
Run Code Online (Sandbox Code Playgroud)

而不是像我在这里使用MsgBox而是考虑写下文件.也是为了让Erl正确地考虑你的每一行编号.

对于VB6,一个很棒的插件是MZ工具链接,它可以帮助您轻松添加错误处理和行号