最近写了一程序。大体流程如下:
首先是登陆界面,然后显示主界面Main,主界面类中有2个对话框成员变量m_VideoDlg和m_QueryDlg;
在主界面的OnInitDialog()函数中,我如下调用了Create函数生成非模态的对话框m_VideoDlg和m_QueryDlg,这2个对话框的父对话框是主对话框Main。主对话框中用 Tab Control来控制这2个 子对话框的显示。
if ( m_QueryDlg.Create(IDD_QUERY,this) == TRUE)
{
AfxMessageBox(_T("查询初始化成功"));
}


if ( m_VideoDlg.Create(IDD_VideoDlg,this) == TRUE)
{
AfxMessageBox(_T("视频初始化成功"));
}开发的时候用的是 Windows7 和 VS2008的平台。 调试通过,用 Release生成后, 将可执行文件拷贝到 另外一台系统也是Win7,没有安装VS2008的电脑上,程序可以正常运行。
但是 拷贝到另外一台系统是 XP 的电脑上(该电脑安装了VS2008)的,程序启动后,登陆界面,主界面和 m_VideoDlg 能够正常显示,m_QueryDlg就没有显示。 消息框 也只弹出了 “视频初始化成功” 这个消息框,也就是说 m_QueryDlg.Create(IDD_QUERY,this)  这条语句的Create返回值是FALSE的。我把整个工程拷贝到 XP系统的电脑上,重新编译, 编译通过,运行时也是 只显示了 登陆界面,主界面和 m_VideoDlg,消息框 也只弹出了 “视频初始化成功” 这个消息框。  在Xp系统下生成的可执行文件,我拷贝到Win7系统的电脑上,运行时也是 只显示了 登陆界面,主界面和 m_VideoDlg,消息框 也只弹出了 “视频初始化成功” 这个消息框。  有朋友知道这是什么原因吗?在线等~~