以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  [求助]运行VBA时金字塔停止工作?  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=138115)

--  作者:du_zb
--  发布时间:2016/8/17 9:44:04
--  [求助]运行VBA时金字塔停止工作?
运行VBA时发生如图所示的错误怎么办?(每次运行那段代码时都会出现)

图片点击可在新窗口打开查看此主题相关图片如下:filehelper_1471397936965_51.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2016-8-17 9:44:57编辑过]

--  作者:王锋
--  发布时间:2016/8/17 10:33:21
--  

检查一下你那段VBA代码有没有对象上的使用问题,例如使用了已经销毁的对象,或者其他内存泄漏问题等等


--  作者:du_zb
--  发布时间:2016/8/17 10:47:05
--  
是一个类模块里面的代码,里面使用了Scripting.Dictionary对象来储存数据,VBA停止的时候正好是访问这个Dictionary对象的某个Item。

另外,有时候(用Exists方法)判断某个Key是否存在的时候,偶尔会输出不存在(但理论上应该是存在的,因为我MsgOut所有Keys的时候是有的),这也不知道是什么原因。

--  作者:du_zb
--  发布时间:2016/8/17 10:53:26
--  
上面说错了,不是“VBA停止的时候”,而是“金字塔停止的时候”
--  作者:王锋
--  发布时间:2016/8/17 11:31:10
--  

这个东西你只能自己去用排除法调试了,另外运行时打开任务管理器,看一下winstock.exe进程的内存占用情况,如果持续增大就说明你的代码存在内存泄漏的问题


--  作者:du_zb
--  发布时间:2016/8/17 12:52:30
--  
内存泄漏也会造成判断某个Key是否存在时出错吗?
--  作者:du_zb
--  发布时间:2016/8/17 14:08:05
--  
哦 我知道了,这是Key的变量类型造成的