Delph7編譯時發生ntdll.dll及RLINK32.DLL錯誤的解決方法 |
|
OsX
版主 發表:6 回覆:151 積分:111 註冊:2003-05-03 發送簡訊給我 |
本人有個專案, 大約有 396 個 Form 及 405 個 Unit, 接手的時有個非常棘手的問題,
在 Delphi7 的 IDE 開發環境中, 編譯專案時 10 次有 9 次 會有 ntdll.dll access violation 或是 RLINK32.DLL unsupported 16bit resource in file: xxx.dfm, 只有少數幾次會編譯成功, 導致無法在 Delphi 的 IDE 中偵錯或是執行, 而且沒辦法 release 程式. 非常的麻煩, 用 IDE 開啟 form 一個一個看, 也看不出什麼問題 google 過幾次解決方法, 像是檢查 combobox 中是否有空白 item, 加大 linking 的 stack size, 減少 project 中的 form 及 unit 的數量, 都無法解決 後來在一次 google 中看到這篇文章 http://www.software-secrets.com/delphi-linker-16-bit-resource-file-error.html 參考文中的做法, 1. 使用 DFMConverter, 將所有 project 中的 form 的 DFM 檔案全部轉成 binary format ( 內定是存成 text format ), 這動作會強制修復有問題的 DFM 檔案 2. 使用 Delphi7 開啟專案並編譯, 成功 3. 再次使用 DFMConverter, 將所有 project 中的 form 的 DFM 檔案轉回 text format 4. 再使用 Delphi7 開啟專案並編譯, 成功 若是有大量程式支數的專案, 且遇到同樣無法編譯的問題, 可參考上述的解法 |
Coffee
版主 發表:31 回覆:878 積分:561 註冊:2006-11-15 發送簡訊給我 |
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |