delphi7在win7 64bit系统下的问题

之前delphi7在win7 64bit上运行是正常的,某天,大概是打了些系统补丁(一般通过360打的),就出现问题了:

1、delphi本身退出时,会崩溃。把几个设计包不安装后,问题消失;

2、之前一个project,使用runtimepackage编译的,exe退出时也会崩溃,但在测试路径完全相同的情况下,不是每次都会。追踪发现是在unloadpackage-->freelibrary-->oleaut32.dll/SysFreeString

尝试解决步骤:

1、使用管理员账号执行。没解决。

2、使用兼容winxp sp3模式执行。没解决。

3、从MSDN查到sfc /scannow可以检查修复系统的dll。执行检查速度比较慢,花了1个多小时,得到的txt报告中没有发现oleaut32.dll。没解决。

4、通过windows update检查有无系统补丁,全部打上。还是没解决。

5、把操作系统用原始ISO恢复一次,没解决。

6、把程序拷贝到其它的电脑执行,winxp、win7 32bit和win7 64 bit下居然都无法重现。

7、最后想起可能是同名的dcp在不同的目录都有(borland\delphi\lib和borland\projects\bpl,如tee.dcp,因为我们买了专业版;indy.dcp,使用开源的9018版本),导致bpl使用了不同的dcp来编译,从而地址布局不一致。彻底删除旧的dcp,再全部编译一遍,哈哈,问题解决。这个问题之前遇到类似的情况,但是是报奇怪的AV错误,也是查了很久。这次以为是操作系统问题,也真是不解,为什么单单我这台才会出现,而且不是每次出现,应该还有更深层次的原因没有找到。

原创文章 159 获赞 11 访问量 36万+

猜你喜欢

转载自blog.csdn.net/acrodelphi/article/details/8488039