第一个问题:
今天在64的Win7上安装Delphi7,在启动时候出现如下提示:
Can't load package:dclite70.bpl
告诉大家一个解决办法,就是给Delphi32.exe去掉数据执行保护。
1、C:Program Files (x86)BorlandDelphi7Bindelphi32.exe。
上面是我机器中Delphi7主程序所在的位置。
2、在桌面的"计算机"图标右键(也就是以前的"我的电脑"),选择"高级系统设置"。
3、在"系统属性"的"高级"选项卡的"性能"上点击设置。
4、在"性能选项"选择"数据执行保护"。
5、在"为除下列选定程序之外的所有程序和服务启动(DEP)"中添加"Delphi32.exe"。
最后整体的流程如下图:
dclite70.bpl
全是Window2003的Data Execution Prevention(DEF数据执行保护)造成的。 引用数据执行保护 (DEP) 是 Microsoft Windows XP Service Pack 2 (SP2) /Windows2003支持的一种处理器功能,它禁止在标记为数据存储的内存区域中执行代码。此功能也称作“不执行”和“执行保护”。当尝试运行标记的数据页中的代码时,就会立即发生异常并禁止执行代码。这可以防止攻击者使用代码致使数据缓冲区溢出,然后执行该代码。数据执行保护 (DEP) 有助于防止病毒和其他安全威胁造成破坏,它们的攻击方法是从只有 Windows 和其他程序可以使用的内存位置执行恶意代码。
也就是说,这个DEF数据执行保护是MS为了防范其系统中不知哪处的漏洞而被攻击者利用来制造数据缓冲区溢出而达到攻击入侵的目的的。而默认是执行保护的,所以给Delphi7造成这个错误。
第二个问题:Delphi报地址错误或者bpl无法加载
把Borland 的安装目录下projects ,bin,source这几个目录设置everyone的可读写权限