一个基于对话框的小程序,在我自己的机器上,装有vc环境的,能执行显示但装到没有装vc环境的机器上,一执行,马上退出然后,在各个函数上添加了AfxMessageBox 想定位,他执行到哪儿 出的问题结果,在对话框类 构造函数执行完后,OnInitDialog 就没有被执行很奇怪。

解决方案 »

  1.   

    OnInitDialog 没执行,可能是对话框窗体根本就没有创建起来.
      

  2.   

    对话框有个‘no fail create’把他打勾后 试试
      

  3.   

    release版本吗?自己单步看看。。
      

  4.   


    首先,在装有vc环境下,肯定没有问题。但没有vc环境的机器上,有的行有的又不行是release版的。远程调试?
      

  5.   

    以前把程序放到虚拟机里边用的时候出现过一些奇怪的错误。
    用在静态库中使用MFC试试
    再不行就把mfc的那几个dll都拷进去,放到应用程序相同的目录里。
      

  6.   

    你用VC哪个版本编译的,就上网下载哪个版本的Microsoft Visual C++运行库
    然后在那些没有安装VC的客户机上,安装此运行库就行了
    公司产品安装包中都会把对应的“运行库”打包进去的
      

  7.   

    用了VC的什么控件吧?比如MSComm?
      

  8.   


    是的。用mscomm这个控件
    那为什么有的机器上行,有的机器上不行呢?
      

  9.   

    把你电脑里system32下的MSCOMM32.OCX拷到目标机器上
    然后regsvr32 完整路径MSCOMM32.OCX就行了
    这个activex控件必须要注册的
    放到system32下的原因是,vb也要用他的
      

  10.   

    我也遇到了这个问题,根据楼上的建议,将no fail create属性改成true可以执行Oninitdialog了