-- 关于vba程序发生不定时非法,找到点问题,麻烦看一下,谢谢
之前反映程序改成vba后发生不定时非法现象。
现在找到一些异常,但可能还不一定是问题所在。现反映一下:
1、Order.HoldingInfo2:不断调用后内存占用不断升高,貌似不能释放,请看一下为什么(估计是有点问题)
但我现实上并不会像下面这样调用,也就3分钟一共循环调用20次,应该不至于导致内存不足?
2、查windows的日志,非法的时候金字塔很大部分是如下类似的出错记录,由于不是很懂看,能不能帮忙判断一下是哪方面原因?
异常代码: 0xc0000374查了一下代码可能是:堆已损坏
错误应用程序名称: WinStock_3.exe,版本: 3.8.0.0,时间戳: 0x569f42f9
错误模块名称: ntdll.dll,版本: 6.1.7601.23392,时间戳: 0x56eb3625
异常代码: 0xc0000374
错误偏移量: 0x00000000000bf262
错误进程 ID: 0x154c
错误应用程序启动时间: 0x01d1ae36191ac5ab
错误应用程序路径: C:\\证券\\Weisoft Stock - 测试 - 64\\WinStock_3.exe
错误模块路径: C:\\Windows\\SYSTEM32\\ntdll.dll
\'-------------------测试Order.HoldingInfo2----------------------------------------------------------------------------------------------Sub APPLICATION_VBAStart()
Call Application.Settimer(5,30)
End Sub
Sub APPLICATION_Timer(ID)
If ID = 5 then
Call test
End If
End Sub
Sub test()
Dim sAcctNo,iCounter1,aaa
Dim iBuyHolding,dblBuyCost,iBuyTodayHolding,iSellHolding,dblSellCost,iSellTodayHolding,dblPNL,dblUseMargin,sBgCont,sMarket
sAcctNo = 611183
\'这里修改为自己的账号
For iCounter1 = 1 to 500 step 1
\'
aaa = Order.Holding2(sAcctNo)
Call Order.HoldingInfo2(1,iBuyHolding,dblBuyCost,iBuyTodayHolding,iSellHolding,dblSellCost,iSellTodayHolding,dblPNL,dblUseMargin,sBgCont,sMarket,sAcctNo)
\'其余几个注释掉的,可能也会有类似问题,但是内存增长很不明显,可以当是没问题
\'
Call Order.Contract("RB10","SQ",dblMultipliter,dblMinTick,iShortPercent,iLongPercent)
\'
Call Order.HoldingInfoByCode2("RB10","SQ",iBuyHolding,dblBuyCost,iBuyTodayHolding,iSellHolding,dblSellCost,iSellTodayHolding,dblPNL,dblUseMargin,sAcctNo)
\'
aaa = order.Account2(2,sAcctNo)
\'
aaa = Order.Account2(6,sAcctNo)
\'
aaa = Order.Account2(3,sAcctNo)
\'
aaa = Order.Account2(28,sAcctNo)
\'
aaa = Order.Account2(31,sAcctNo)
Next
End Sub
\'-----------------------------------------------------------------------------------------------------------------------------------------