欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 再次请教PeekAndPump无法返回问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3572人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
lyh27557496
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:131 积分:0 威望:0 精华:0 注册:2014/5/29 11:00:33
再次请教PeekAndPump无法返回问题  发帖心情 Post By:2017/11/9 9:35:32 [只看该作者]

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

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2017/11/9 11:13:27 [只看该作者]

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
lyh27557496
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:131 积分:0 威望:0 精华:0 注册:2014/5/29 11:00:33
  发帖心情 Post By:2017/11/9 13:02:18 [只看该作者]

如果循环有嵌套,PeekAndPump是放在最里面的循环吗?还是说各层循环都需要?

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2017/11/9 13:05:26 [只看该作者]

这个没有特定的位置,一般是放在你的长时间处理循环中,循环的途中处理其他事件。如果你的循环本身不复杂不长时间占用,那么也没必要搞这个函数的

 回到顶部
帅哥哟,离线,有人找我吗?
lyh27557496
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:131 积分:0 威望:0 精华:0 注册:2014/5/29 11:00:33
  发帖心情 Post By:2017/11/9 13:38:43 [只看该作者]

金字塔有没有消息队列处理的一些接口可以用来测试?

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2017/11/9 13:57:54 [只看该作者]

这个本身就是WINDOWS底层API封装的,你需要什么测试?

 回到顶部