运行时错误 '6':Visual Basic中

问题描述:

我使用Visual Basic 6
我有以下代码结构:
FUNCNINFO是一个结构运行时错误 '6':Visual Basic中

Public funcTable() As FUNCNINFO 
----- 
------ 
ReDim Preserve funcTable(0 To upsize + ns) 

当的值(升迁+ NS)是超过32766,它给运行时溢出错误'6' 你有任何想法的原因和解决方案?

+1

是'upsize'和'ns'整数或长整型吗?如果幸运的话,这只是16位的int限制(虽然通常是32767),但如果这是一个数组大小限制,我不会感到惊讶。你真的需要你的funcTable大吗? – Rup 2010-07-28 10:06:41

VB6的Integer类型是16位,所以不能存储一个大于32767的值,它的Long这是32位整数类型,所以下面将起作用;

Dim upsize As Long 
Dim ns As Long 

upsize = 32766 
ns = 12345 

ReDim Preserve funcTable(0& To upsize + ns) 
+0

嗨,谢谢.. 请注意,upsize和ns的个别值不超过整数的大小,它是超出的组合。 – Pradeep 2010-07-28 10:13:53

+2

也不是在我的例子中,如果它们都被声明为整数(或根本没有声明),则引发错误6溢出 – 2010-07-28 10:21:00

+0

嗨Rup, 是的这是真实场景中的数组大小限制。 – Pradeep 2010-07-28 10:33:35

我发现它是数据库有错误。我没有解决错误的确切位置,而是在更新之前进行了备份,并且它工作正常。