如下调用,出现 “编译器错误:91 对象变量未设置”,去掉 set = nothing后就没问题,但函数调用说明在频繁调用函数的时候要注意释放内存,该怎么释放?
'遍历所有未成交合约品种
For i=0 to Order.OrderNum2-1
iret = Order.OrderInfo3(i, OrderID, ConSign, Filled, Remaining, Action, OrderType, LmtPrice,Account, Kaiping, Code, Market,HoldType)
dbgOut "Timer","ID = 1" + ",收盘处理,未成交,iRet = " + CStr(iRet) + ", OrderID= " + CStr(OrderID) + ",Code= " + CStr(Code) + ",Market= " + CStr(Market)
'释放字符串变量内存
Set Code = nothing
Set Market = nothing
Set Account = nothing
Next
有2个问题:
1,当返回值为-1时表示调用失败,此时字符串并未分配内存,因此不需要释放
2,Account是输入参数,不是输出参数,不可以做释放