以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  编译器错误6,溢出‘grid.drawline’  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=56885)

--  作者:jianshi2020
--  发布时间:2013/9/23 13:48:01
--  编译器错误6,溢出‘grid.drawline’
在一分钟K线图加载到最大的时候,会爆出这个错误,平常用都没事,请问怎么回事啊?
--  作者:王锋
--  发布时间:2013/9/23 14:13:49
--  
现在没法评估你的问题,建议你将grid.drawline’  相关的代码贴过来我们看看
--  作者:jianshi2020
--  发布时间:2013/9/23 14:32:14
--  怎么添加自定义函数啊??
   call grid.DrawLine(0, dline,grid.width,dline,vbwhite,1)
--  作者:王锋
--  发布时间:2013/9/23 14:34:41
--  

难道你整个模块就这一句话?


--  作者:jianshi2020
--  发布时间:2013/9/23 15:06:49
--  

 while not rstTmp.EOF
   aa=rstTmp("11")
    cc=rstTmp("22")
   dline=Grid.PriceToPels(aa)
   if day(cc)=day(date) and month(cc)=month(date) and year(cc)=year(date) then
   call grid.DrawLine(0, dline,grid.width,dline,vbwhite,1,1)
    else
   call grid.DrawLine(0, dline,grid.width,dline,vbwhite,1)
    end if 
   rstTmp.movenext
   wend


--  作者:jianshi2020
--  发布时间:2013/9/23 15:07:33
--  
这句,迭代的这句,正常使用没问题的,问题出现在将K线加载到最大的情况下,会爆出这个错误。
--  作者:王锋
--  发布时间:2013/9/23 15:11:31
--  

可能是重复绘制的次数太多了。

建议绘制时,做个变量控制,绘制过一次就不要绘制了,这样也可以提高效率


--  作者:jianshi2020
--  发布时间:2013/9/23 15:15:36
--  

我把这些函数加入进PAINT事件中,窗格每动一下就刷新一次。也就是说只要是行情时间段PAINT会一直重复绘制的。

但是这并没有引起程序的BUG,只有在我人为把K线图加载到最大的情况下,才会出现溢出。


--  作者:王锋
--  发布时间:2013/9/23 16:33:49
--  
也许不一定是这句话导致,也许是数据库方面的问题,建议你把grid.DrawLine这一段代码注释掉,然后再看看是否报错了