第一個問題:
今天在64的Win7上安裝Delphi7,在啟動時候出現如下提示:
Can't load package:dclite70.bpl
告訴大家一個解決辦法,就是給Delphi32.exe去掉數據執行保護。
1、C:\Program Files (x86)\Borland\Delphi7\Bin\delphi32.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的可讀寫權限