【问题标题】:VB6 Subscript out of range error at compile time编译时VB6下标超出范围错误
【发布时间】:2017-07-26 10:01:16
【问题描述】:

我在 VB6 项目中使用 .Net DLL。当我尝试从 VB6 类调用 DLL 方法时,该方法可用于 VB6 编辑器中的智能感知,但是当我编译时,方法调用出现“下标超出范围”错误。我认为“下标超出范围”是运行时错误,但我在编译时得到了它。 你对这个编译错误的原因有什么想法吗?

【问题讨论】:

  • 这段代码在你的项目中在哪里?下标我们的范围错误是来自没有参数的方法还是传入了一些参数?如果传入参数,则下标超出范围错误可能是由于其中之一。我过去遇到过类似的问题,我相信 VB6 项目的某些部分可以在编译时执行。您只需要像在运行时遇到此错误一样处理代码中的错误。

标签: vb6


【解决方案1】:

您正试图访问一个数组但超出了它的边界。 因此 SUBSCRIPT 超出范围

【讨论】:

  • 如描述中所述,这是编译错误而不是运行时错误,VB6 抱怨方法调用。我认为错误与参数数量或方法声明的总长度有关,因为我尝试调用的暴露的 .Net 方法有超过 70 个参数(我正在调用旧组件)。
  • 发布与数组的实现/使用相关的代码,毫无疑问,SO 论坛上的某个人会发现问题。某处可能在循环或递归子例程中,您超出了数组的边界。
【解决方案2】:

您应该使用 UBound 函数检查数组范围:

VBScript UBound 函数

https://www.tutorialspoint.com/vbscript/vbscript_ubound_function.htm

【讨论】:

    猜你喜欢
    • 2021-12-22
    • 2023-04-10
    • 1970-01-01
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多