社区
界面
帖子详情
PostMessage消息处理
jaynaviee
2013-07-24 02:22:04
假设一个场景:new 一些资源,通过一个自定义消息post出去,在消息还未处理完的情况下,前面new的资源被释放了, 后面post出去的消息在处理资源时肯定会出问题,有什么办法可以在释放资源的同时结束post消息?
求指导。。。。。。。。,先谢谢各位了,。。。。
顺便帮我把这个帖子回复下好结贴
http://bbs.csdn.net/topics/390257417
...全文
299
7
打赏
收藏
PostMessage消息处理
假设一个场景:new 一些资源,通过一个自定义消息post出去,在消息还未处理完的情况下,前面new的资源被释放了, 后面post出去的消息在处理资源时肯定会出问题,有什么办法可以在释放资源的同时结束post消息? 求指导。。。。。。。。,先谢谢各位了,。。。。 顺便帮我把这个帖子回复下好结贴 http://bbs.csdn.net/topics/390257417
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jaynaviee
2013-07-24
打赏
举报
回复
不知道大家是不是没明白问题意思,唉 算了, 还好自己解决了,结贴了!!!!!! 大牛们去哪了
zhousitiaoda
2013-07-24
打赏
举报
回复
2L当我没说好像确实不行。要不就new一份拷贝传到消息里去
琅琊榜
2013-07-24
打赏
举报
回复
那就在处理完之后再释放呗,可以把释放写到处理消息里面。
schlafenhamster
2013-07-24
打赏
举报
回复
如果 一定 要 post ,那就 在 post 消息里 delete, 但这种 delete 是 违规的, 会有很多问题, 如 线程 在 dll 分配。。。
schlafenhamster
2013-07-24
打赏
举报
回复
post
message(wm_test,(wparam)&szBuffer,0); delete []szBuffer; 用post 不行,他马上返回,后面delete 就完了, 确实这里 要 Send(做完才返回) 才行
zhousitiaoda
2013-07-24
打赏
举报
回复
有个不太好的方法 char* szBuffer = new char[]; postmessage(wm_test,(wparam)&szBuffer,0); delete []szBuffer; szBuffer = NULL; 响应函数: char **pData = (char**)wparam; if(*pData) { } 方法应该可行,不过最好别这么用
schlafenhamster
2013-07-24
打赏
举报
回复
原则是 谁创建(new) ,谁 销毁 (delete)。 你这是在 违反原则。
在
PostMessage
或SendMessage中通过WPARAM或者LPARAM将数组传递给
消息
处理
函数
(1)在::
PostMessage
(HWND,UINT,WPARAM,LPARAM)或::SendMessage(HWND,UINT,WPARAM,LPARAM)中通过WPARAM wParam或者LPARAM lParam将数组传递给
消息
处理
函数; (2)在
消息
处理
函数中,通过memcpy( void *dest, const void *src, size_t count )将数组
Win32
消息
处理
API---
PostMessage
06、
PostMessage
功能说明
PostMessage
将
消息
投递到进程的
消息
队列,不会等待进程
处理
消息
完毕就返回,
PostMessage
所投递的
消息
会被进程所调用的GetMessage或者PeekMessage函数所检索。
PostMessage
对
消息
的投递行为属于异步发送,即发送
消息
而不必等待
消息
被
处理
之后再返回。
PostMessage
在投递
消息
时,系统根据hWnd参数来判断所属
VC++ SendMessage和
PostMessage
使用总结
结论: 1、
PostMessage
不能频繁的发送同一个
消息
,除非保证上次Post过的
消息
处理
完成。 2、如果用SendMessage导致应用程序用户体验下降,应该检查
消息
处理
函数,而不仅仅简单改为
PostMessage
。 3、如果
消息
是程序必须
处理
的,则不能使用
PostMessage
。
消息
队列满时,后面来的
PostMessage
的
消息
将被丢弃。 4、如果
消息
是程序必须
处理
,...
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章