编译时VB6下标超出范围错误

编译时VB6下标超出范围错误,vb6,Vb6,我正在VB6项目中使用.NETDLL。当我尝试从VB6类调用DLL方法时,该方法在VB6编辑器中的intellisense中可用,但当我编译时,在方法调用中出现“下标超出范围”错误。我认为“下标超出范围”是一个运行时错误,但在这里我是在编译时得到的。 您知道这个编译错误的原因吗?您试图访问一个数组,但超出了它的边界。 因此下标超出范围您应该使用UBound功能检查数组范围: VBScript UBound函数 如描述中所述,这是一个编译错误而不是运行时错误,VB6正在抱怨方法调用。我认为错误与参

我正在VB6项目中使用.NETDLL。当我尝试从VB6类调用DLL方法时,该方法在VB6编辑器中的intellisense中可用,但当我编译时,在方法调用中出现“下标超出范围”错误。我认为“下标超出范围”是一个运行时错误,但在这里我是在编译时得到的。
您知道这个编译错误的原因吗?

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

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

VBScript UBound函数


如描述中所述,这是一个编译错误而不是运行时错误,VB6正在抱怨方法调用。我认为错误与参数的数量或方法声明的总长度有关,因为我尝试调用的公开.Net方法有70多个参数(我调用的是旧组件)。发布与阵列的实现/使用相关的代码,毫无疑问SO论坛上会有人发现问题。可能在循环或递归子例程中的某个地方,您正在超出数组的边界。此代码在您的项目中的何处?错误范围的下标是来自没有参数的方法还是传入了一些参数?如果传入参数,则下标超出范围错误可能是由其中一个参数引起的。我过去也遇到过类似的问题,我相信VB6项目的某些部分可以在编译时执行。您只需要像在运行时遇到此错误一样处理代码中的错误。