2010-06-21 90 views
0

我在Delphi 2007中得到了以下錯誤。這是什麼意思?德爾福2007年內部錯誤

[DCC錯誤] uMyUnit.pas(9614):F2084內部錯誤:AV21B66E31-R0000000F-0

我做了一些最近添加的代碼刪除,行插入/缺失,改變編譯器選項,但毫無效果。

我可以通過關閉'Typed pointer @ operation'選項來解決這個問題。有趣的是,它正在使用此選項打開。但是在我添加了一些甚至沒有指針的代碼後,它就崩潰了。

+0

你可以發表你的代碼的幾行,並告訴我們它在哪裏炸燬(在uMyUnit.pas,行9614)?這樣我們可以幫助你更多。但是,如果它是一個編譯器錯誤,那麼你可能需要編碼(順便說一句,有誰知道是否有任何德爾福2007年修補程序可供下載?) – Mawg 2010-06-21 23:47:22

+0

我做了一些改變,現在錯誤的行是9620.我只是意識到這是超出單位的結束。單位的最後一行(結尾)有一個數字9618.最後一行下面沒有空行。 – Max 2010-06-22 00:08:28

回答

3

這是一個精簡版的錯誤,任何Delphi開發人員都很熟悉。如果您在IDE中看到它,它會這樣說:

Access Violation at location 21B66E31: Read of address 00000000.

這意味着你的代碼,因爲目前寫的,已經成功地暴露出編譯器的錯誤。不幸的是,由於編譯器的源代碼不可用,唯一要做的就是繼續做更多你已經嘗試過的工作,但目前爲止還沒有成功。

或者嘗試更新到D2010,看看它是否更好。他們在Delphi 2010中修正了很多內部編譯器錯誤(當然,其中很多是Delphi 2009中引入的新錯誤,但其中有些錯誤不是)。

1

嘗試重新啓動IDE。它修復了很多內部錯誤。

如果重新啓動後錯誤仍然存​​在,並且所有內容仍在工作,則可以忽略該錯誤。由於某些資源編譯器問題,我的一個項目出現了內部錯誤,但我懷疑它會在兩年後仍然有效,即使經過多次修改和重建也是如此。

+0

我試過重新啓動當然。沒有幫助。這不是一個資源編譯器。這是delphi編譯器,所以沒有exe文件。 – Max 2010-06-21 22:52:44

+0

+1用於重新啓動IDE。 OP應該已經表明他已經嘗試過了,如果他已經嘗試過了。如果你沒有,我會建議你。 – 2010-06-21 23:32:25

3

您是否嘗試過:
- 刪除所有的DCU和重建
- 建立與命令行編譯
- 洗牌的使用條款
在單元的順序 - 在牆上碰你的頭(沒有幫助,但至少你知道它爲什麼會受傷^ = ^)