VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 689|回复: 1

[求助] VB6内存溢出

[复制链接]
发表于 2017-2-5 11:09:46 | 显示全部楼层 |阅读模式
定义二维数组,提示内存溢出,求解!!!
  1. Private Type ExtData
  2.     Date            As Long
  3.     Rec(1 To 13)    As Single
  4. End Type
  5. Private ExtRec()     As ExtData

  6. Private Sub Form_Load()
  7.     ReDim ExtRec(4096, 1895) As ExtData
  8. End Sub
复制代码
发表于 2017-2-5 20:08:01 | 显示全部楼层
本帖最后由 zdingyun 于 2017-2-5 20:25 编辑

从LZ申明的多维数组的总元素超过了所能承受的范围。
注意 在增加数组的维数时,数组所占的存储空间会大幅度增加,所以要慎用多维数组。使用 Variant 数组时更要格外小心,因为他们需要更大的存储空间。
溢出(错误 6),当赋值超出目标的限制时,就会发生溢出。此错误有以下的原因和解决方法:
赋值、计算或数据类型的结果的转换太大,以致于不能在变量类型所允许的范围内表示出来。
赋值给足够表示值的范围的类型的变量上。
给属性的赋值超过属性能接受的最大值。
确保赋值适合属性的范围。

试图在计算中使用一个数字,并且该数字被强制为一个整数,但是结果超过了整数的范围,例如:
    Dim x As Long
    x = 2000 * 365   ' 错误: 溢出
要解决这个问题,请按如下方式键入该数字:

    Dim x As Long
    x = CLng(2000) * 365
详细信息,可选取有问题的项目,并按下 F1 键。
LZ的第二维上标选1171,尚能不出现溢出。
  1. Private Type ExtData
  2.     Date            As Long
  3.     Rec(1 To 13)    As Single
  4. End Type
  5. Private ExtRec()     As ExtData

  6. Private Sub Form_Load()
  7.     ReDim ExtRec(4096, 1711) As ExtData
  8. End Sub
复制代码
LZ自定义结构需占用内存436305920字节,即437M左右。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2017-5-24 10:24

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表