最近接了一个项目,要求使用Delphi7来开发程序,可是由于我们之前均使用delphi6来开发程序的,而且Delphi6使用很长时间了,积累并改造了第三方控件很成熟了;
故把Delphi6的控件移植(升级)到Delphi7来使用,控件是顺利升级成功了,所以我就在想是否可以把Delphi6直接抛弃,以后统一使用Delphi7呢?
由此把原来的的工程拷贝一份,在Delphi7环境下来编译进行测试,可是怎么编译均会出现“Access violation at address 00A7B628 in module 'dcc70.dll'. Read of address 00000000.”的错误;
刚开始,我怀疑是Delphi7安装有问题,于是,我就把Delphi7完全卸载,重新安装Delphi7,然后安装Delphi7_Update1,最后安装控件。经过一番折腾,然后重新编译还是一样的错误,无法解决;
接下来,就在google中去搜索是否有类似的现象,有人解决过,可以进行参考,没找到!不过在每次Delphi7编译时,均在同一个单元中会报错;
于是我就死马当活马医,对这个单元进行瘦身处理,一直进行注释,最后发现在uses中不能uses 单元名称为关键字的单元,否则就出现这样的错误;如:Delete、Insert等等关键字的单元名称,把这种单位名称的单元名修改一下,再引用就解决此问题了!!!
如我们的程序,把BB目录中的delete.pas 改为bbDelete.pas,insert.pas改为bbInsert.pas 这样就解决此问题了!!