库管易

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

查看: 10801|回复: 0

使用Excel软件VBA编写进销存表格,数组内存泄漏问题

[复制链接]
  我们在使用Excel软件的VBA编写进销存表格时,一定要用到数组,使用不当的话会造成“数组的内存泄漏”问题。
  先看一看VBA数组可能出现的错误:
  1. Sub RAM_Limit()
  2.     Dim iLen As Long
  3.     Dim vReturn As Variant
  4.     iLen = UBound(RAM_Consume()) '不要在函数里面直接引用新分配的数组,会造成动态分配不能释放导致内存泄漏
  5.     Debug.Print iLen
  6. End Sub
复制代码

  在VBA中正确使用数组的方法:
  1. Sub RAM_Solve()
  2.     Dim iLen As Long
  3.     Dim vReturn As Variant
  4.     vReturn = RAM_Consume() '正确的方法
  5.     iLen = UBound(vReturn)
  6.     Debug.Print iLen
  7. End Sub
复制代码

  上面例子中用的自定义函数:
  1. Function RAM_Consume() As Long() '返回Long数组
  2.     Dim arrTemp(10000) As Long
  3.     RAM_Consume = arrTemp
  4. End Function
复制代码

  观察内存泄漏的方法:进入任务管理器,运行程序,看Excel内存大小。
回复

使用道具 举报

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

本版积分规则

手机版|仓库管理网

GMT+8, 2024-12-4 01:00

Powered by 库管易

KuGuanYi.Com

快速回复 返回顶部 返回列表