Y
ysai
Unregistered / Unconfirmed
GUEST, unregistred user!
只用到了两个第三方组件evExpress,FastReport<br>EXE调用DLL中的窗体,显示在EXE中的一个Panel上.关闭时程序失去响应.不占CPU资源.<br>DLL比较多,但只有其中2-3个才会出现下述现象.而这2,3个与正常的相比,在代码上没有特殊的地方.<br>程序中很少用到多线程,一般都是在主线程中操作<br><br>A,B,C,D 4台机器代表4种情况<br><br>A为开发的机器,XP,D7,曾经出现过死掉,但近段没有一次重现.<br><br>B为测试机器,双系统,XP里某些DLL中的窗口关闭会死掉,有时候第一次关闭不死,多打开再关闭几次就死,装上D7后,在调试环境下不死(设不设断点一样,=没办法跟踪),直接运行EXE死.2000系统不死.<br><br>C和D:都为XP,为多台机器的两种情况,C死,A机器重新编译代码(不修改任何东西,只是加个空格再删除,保存编译,结果文件大小不同,发布),C就可能不死了,但....D又死,再重新编译,可能又换过来.不死掉的话肯定不会出问题,死掉的是有机会出问题,机率比较大,不能忍受.<br><br>以上现象,基本可以排除代码原因,程序死掉时Socket服务可以看到客户端已经正常关闭连接,排除Socket连接问题.日志表明窗体执行了Close,然后Hide,但未Destroy.<br><br>请各位DFW帮忙想想,可能是什么原因造成的?我快崩溃了.<br>编译选项有什么可以设置的?为什么不修改任何代码,编译出来的目标文件会有不同?