全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:5242
推到 Plurk!
推到 Facebook!

Delph7編譯時發生ntdll.dll及RLINK32.DLL錯誤的解決方法

 
OsX
版主


發表:6
回覆:151
積分:111
註冊:2003-05-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-03-19 16:07:53 IP:61.63.xxx.xxx 未訂閱
本人有個專案, 大約有 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-03-19 19:04:39 IP:59.124.xxx.xxx 訂閱
感謝分享
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
Jasonwong
版主


發表:49
回覆:918
積分:558
註冊:2006-10-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-03-20 09:19:54 IP:59.120.xxx.xxx 未訂閱
感謝分享, 之前也是有這個問題, 後來我是換掉了 D7 的記憶體管理模組, 才改善了這個問題, 不過有時還是會發生
------
http://www.cobbler.tw

聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
系統時間:2017-12-15 18:15:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!