1. 程式人生 > >delphi7在win7 64bit系統下的問題

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錯誤,也是查了很久。這次以為是作業系統問題,也真是不解,為什麼單單我這臺才會出現,而且不是每次出現,應該還有更深層次的原因沒有找到。