故障现象:部分Delphi项目在win7开发机上不能运行了,提示Runtime error 216 at xxx错误信息,但是将出错的EXE文件复制到别的win7和xp下,均运行正常。
解决办法:之前安装某软件时,将DEP对普通应用程序开启了,关闭DEP或将应用程序添加到例外问题解决。
总结:起初遇到此问题时,想当然地以为是Visual C++ Runtime库有问题,重装2005、2008和2010版本的运行库,甚至将system32里的dll文件重新注册了一遍,问题仍旧,后来谷歌到有人卸载office2010安装office2007解决了,耗去N多时间用于卸载安装Office,其实显示的信息虽然相同,但引起的原因却未必一样,解决办法自然也千差万别,应该从自己的系统上最近做的操作着手去分析。至于Delphi工程中未发现有明显的异常代码,具体哪些代码与DEP不兼容有待分析。