我的程序是在WINDOWS XP下编的,运行正常。但是一到WINDOWS 98下时就出问题了,这个程序其他都正常,惟有其中一个模块的其中一个功能不能用,提示USER。EXE保护页常规错误。2台电脑都装了VC++的、且都是DEBUG版本

解决方案 »

  1.   

    XP 和 98 本就有许多 API 不同
    你可以在98上Debug来保原因
      

  2.   

    对在98下debug, xp有很多api函数 在98下是没有的!
      

  3.   

    一般是兼容性问题,看看你是不是用到了win98下没有的API
      

  4.   

    WIN98和XP 差别很大,比如在98里操作进程就不行。
    你如果一定要在98和XP中都兼容,就最好在98下编译,或在XP中用兼容模式运行程序看看有错误没?
      

  5.   

    C runtime函数库版本不同造成的 某一个libc.lib
    libcmt.lib
    msvcrt.lib
    libcd.lib
    libcmtd.lib
    msvcrtd.lib
      

  6.   

    应该不是API的问题,我看了一下,是DELETE出了问题,是不是WINDOWS98和WINDOWS XP管理内存方式不一样啊。我的代码在逻辑上没有问题,所以不存在DELETE一个空的指针的问题,但就的提示非法操作:USER。EXE保护页常规错误
      

  7.   

    delete出错?
    估计只是表象,代码贴出来看看
      

  8.   

    我找了一天,终于找到原因了。我动态创建了一个编辑框,处理其onchange(),处于某种需要,我在这里面delete掉了自身从而导致了USER。EXE保护页常规错误;看来不能在自己的消息处理函数中删除自身,但是在WINDOWS XP就行,在WINDOWS 98就不行,不只到是不是2个管理内存的方式不一样所至