一个程序使用CAsyncSocket类进行局域网通信,Cilent端.设计成连接时在OnConnect
函数检测到nErrorCode不为0(连接失败)时就向主框架发送一个自定义消息,如下:AfxGetApp()->m_pMainWnd->PostMessage(消息,0,0);主框架接收到该消息后调用一个函数进行处理,在这个函数里先Close()掉Sochet
结构,然后重新Create()和Connect(...),这样只要连接不成功就会一直试图连接
下去直到成功,但是在Relaese版本中一旦这个循环开始启动,之后无论是程序失去
焦点,或是单击程序窗体,甚至鼠标划过菜单时菜单项浮动一下都会非法,又试验如
下操作:
程序运行到一定时间向程序发送WM_CLOSE消息,Release版本也会非法,好像它
接收到任何除了自定义消息之外的消息都会非法
但这些现象在Debug版本中就完全没有出现过
另外如果响应自定义消息的函数仅仅Close()而不重新连接,既对连接失败做一
定处理但不重新连接的话Release版本也不非法
拜托大家帮帮忙,不一定是针对问题本身,认为有价值的建议想法都请告知,我用
Debug版本都半年多了,如能解脱,不胜感激.
函数检测到nErrorCode不为0(连接失败)时就向主框架发送一个自定义消息,如下:AfxGetApp()->m_pMainWnd->PostMessage(消息,0,0);主框架接收到该消息后调用一个函数进行处理,在这个函数里先Close()掉Sochet
结构,然后重新Create()和Connect(...),这样只要连接不成功就会一直试图连接
下去直到成功,但是在Relaese版本中一旦这个循环开始启动,之后无论是程序失去
焦点,或是单击程序窗体,甚至鼠标划过菜单时菜单项浮动一下都会非法,又试验如
下操作:
程序运行到一定时间向程序发送WM_CLOSE消息,Release版本也会非法,好像它
接收到任何除了自定义消息之外的消息都会非法
但这些现象在Debug版本中就完全没有出现过
另外如果响应自定义消息的函数仅仅Close()而不重新连接,既对连接失败做一
定处理但不重新连接的话Release版本也不非法
拜托大家帮帮忙,不一定是针对问题本身,认为有价值的建议想法都请告知,我用
Debug版本都半年多了,如能解脱,不胜感激.
解决方案 »
- mfc问题,浏览网页
- 请问学习MFC,看哪种教材较好
- ATL控件 在Performing registration时停止不动
- 消息映射中一个句子的语法问题
- XMl图像问题
- 郁闷啊,webmail 收邮件时候的真实数据传输!
- 谁有IMAP4的RFC中文资料
- 谁有用vc编制病毒的源代码,给我[email protected]
- 我用vc.net创建了两个工程a和b,我现在想把a工程的对话框及代码移值到b工程,如何实现?
- 我已经晕了
- 急!急!急!如何在所读取的文件中实现“添加,删除,保存,销毁”的功能??见者有分!能否有二叉树来完成??高手帮忙,最好写出源代码
- 如何决定CFormView类程序的窗口大小?
正确的应该是
LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam)
{
...
return 0;
}
Release下也是可以看到调试信息的,你可以在Release的Project Settings中这样设置:
C/C++页:“Debug Info”项选“Program DataBase”;
Link页:将Generate debug info选项钩上;
然后Rebuild All 一下Release代码,就能在调试中看到Release版本出错的地方了。(这样显示可能有些误差,一般在提示点的上下两行)。
不过之前我就是把DEBUG的编译开关调整得和RELEASE差不多,这样倒不会非法操作了。