Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:再次请教PeekAndPump无法返回问题

1楼
lyh27557496 发表于:2017/11/9 9:35:32
在for循环中有打开框架、处理数据、再关闭框架的操作,因为有多个框架要处理,担心大量占用资源会导致金字塔崩溃,因此在for循环里使用了PeekAndPump,但是经常打开某个框架后(哪个框架不固定,随机的)就卡住了,界面没反应,鼠标点击正常。如果不使用PeekAndPump则可以顺利执行完所有打开框架关闭框架的操作。 之前以为是PeekAndPump后会优先处理行情进来,但是试过在for循环前就把数据接收都关了,同样会卡住。 金字塔又没有DoEvents方法可用。请问下PeekAndPump到底是怎么封装的?帮助文档只有几句话,有没有更加具体的说明?开了PeekAndPump后会一直查询有没有其它消息?行情都关了,交易也停了(已收盘),没有其它消息要处理了,那PeekAndPump到底在等什么?
2楼
无为剑 发表于:2017/11/9 11:13:27

这个函数实际上就是封装了WINDOWS的消息队列处理,如果你确认是在PeekAndPump挂起的,那么说明你的代码有某个地方出现了消息挂起而导致等待。

你可以用排除法看一下具体是那个窗体或者框架等操作导致的挂起,逐步缩小问题范围。

3楼
lyh27557496 发表于:2017/11/9 13:02:18
如果循环有嵌套,PeekAndPump是放在最里面的循环吗?还是说各层循环都需要?
4楼
无为剑 发表于:2017/11/9 13:05:26
这个没有特定的位置,一般是放在你的长时间处理循环中,循环的途中处理其他事件。如果你的循环本身不复杂不长时间占用,那么也没必要搞这个函数的
5楼
lyh27557496 发表于:2017/11/9 13:38:43
金字塔有没有消息队列处理的一些接口可以用来测试?
6楼
无为剑 发表于:2017/11/9 13:57:54
这个本身就是WINDOWS底层API封装的,你需要什么测试?
共6 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.02930 s, 2 queries.