调试到 DoModal时跳开了
高分子 2014-08-16 10:49:59 在WSAAsyncSelect所触发的事件 的FD_READ中
有下面一段程序,为什么在调试时执行到nResponse=fileDlg.DoModal()时,根本未执行fileDlg.DoModal(保存窗口未打开,nResponse未被赋值),就回跳到SOCKET socket=(SOCKET)wParam这一步,花了老多时间,还是没有找到问题
LRESULT CPro_mfccsDlg::OnNETWORKFILE(WPARAM wParam,LPARAM lParam)
{
SOCKET socket=(SOCKET)wParam;
int nResponse;
if (HIWORD(lParam))
{
::closesocket(socket);
return 0;
}
else
{
switch(LOWORD(lParam))
{
case FD_ACCEPT:
{
SOCKET socket_file_client=accept(socket,NULL,NULL);
if (socket_file_client!=INVALID_SOCKET)
{
CFileDialog fileDlg(FALSE); //构造一个文件另存为对话框
fileDlg.m_ofn.lpstrTitle=_T("保存为");
fileDlg.m_ofn.lpstrFilter=_T("Text Files(*.txt)\0*.txt\0ALL Files(*.*)\0*.*\0\0");
fileDlg.m_ofn.lpstrDefExt=_T("txt"); //定义缺省文件扩展名
nResponse=fileDlg.DoModal();
if(nResponse==IDOK) //打开文件另存为对话框
{....}