dll向主程序发消息的问题
我在动态库中向主程序发送了一个自定义的关闭文档的消息,然后在主程序中的关闭文档的函数中又发送了一个存盘的消息。第一个消息发送成功了,也调用了关闭文档的函数,但第二个发送的存盘消息就没有执行。哪位大侠知道这是为什么,是不是同时向主窗口发送了两个消息,但第一个消息还没有执行完毕,第二个消息也不会执行(两次都是用的sendmessage)?该如何解决? 问题点数:100、回复次数:6Top
1 楼orbit(走了走了)回复于 2005-08-01 09:40:44 得分 0
应该不是这个问题,sendmessage是个堵塞函数,消息响应函数执行完SendMessage才返回,你应该在消息响应函数加断点调试,看看是什么原因Top
2 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-08-01 09:43:28 得分 0
先发送存盘消息如何,是不是因为文档已关闭而无法保存Top
3 楼dirdirdir3(风)回复于 2005-08-01 09:44:07 得分 0
第一个消息还没有执行完毕,是这个原因。
如果一定要在消息执行中等待其他消息执行的话,可以在等待中加上(参数略)
if(GetMessage())
{
TranslateMessage();
DispatchMessage();
}Top
4 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2005-08-01 10:02:12 得分 0
PostMessageTop
5 楼seansoe(www.sysmgmt.com.cn)回复于 2005-08-01 11:29:40 得分 0
应该不是这个问题,sendmessage是个堵塞函数,消息响应函数执行完SendMessage才返回.
Top
6 楼qrlvls( 空 气 )回复于 2005-08-01 12:08:22 得分 0
为何要在关闭文档后存盘呢??
这是设计问题,SendMessage是依次执行的,文档关闭后不存盘是正确的
你应该使你的代码尽可能符合习惯而不是绕过去解决,这样在后面可能会造成更多的问题Top




