2010-06-19 112 views

回答

1

錯誤可能是由窗體上的設計組件中引發的異常引起的。如果組件正在運行一些引發異常的初始化代碼,則會產生此錯誤。這可以通過添加

raise Exception.CreateFmt('Test', []); 

進入組件的代碼。請注意,在D6 Pro中,這不會在錯誤消息中產生「測試」。不顯示基礎的異常消息。

+0

我不這麼認爲:只需構建/編譯項目不會在窗體上創建組件。打開表單會導致組件的創建,但OP會抱怨第一次構建,而不是第一次打開表單。 – 2010-06-19 12:14:59

+0

嗨科斯明,也許'初始化'是錯誤的詞。導致RLINK32的組件是TffServerEngine,我正在測試一些新的異常消息。我希望它能生成其中的一個,這樣我就可以看到新消息已經正確編譯,並且我對它進行了硬編碼,以便在其中一個文件處理例程中總是產生一個異常。如果您有NoAutoSaveCfg屬性False,它會在第一次編譯/編譯期間寫入某些表(如FFSINFO.FF2),至少在IDE中執行此操作時,我沒有測試命令行。在IDE中第一次編譯/編譯時,我收到了RLINK32錯誤。 – soid 2010-06-19 15:36:56

+0

這就是我所理解的:您編寫了一個「IDE Expert」插入IDE並在IDE首次嘗試保存文件時引發異常?那麼,你的IDE行爲正確!你期望它做什麼?另外你對自己的問題的回答是不明確的,請定義「一些初始化代碼」(對於大多數組件的構造函數),並定義「組件代碼」 - 這是什麼? – 2010-06-20 08:58:10

0

我也在Deplhi 2010上得到了同樣的錯誤,問題是在IDE中沒有安裝組件,當我將組件更改爲存在的組件時,它被用作魅力。

2

我有同樣的問題,它是固定的,通過更具體的條款{$ R fMain更換{$ R * .DFM}指令的問題單元(這是Delphi沒有一次編譯過程中發現的)。 dfm}

0

這可能是由於在創建期間(當表單被加載時)引發異常的控件造成的。


我如何解決這個(這種情況下是具體的我,而是一個非常類似的解決方案可以適用於你):

首先我裝的「破」單元到IDE中。直到我按下F12才能看到表單,它並沒有導致錯誤。由IDE引發的錯誤消息不是很有幫助,但在將{$ R * .dfm}更改爲{$ R MainForm.dfm}後,錯誤消息更改爲更具體的內容。更精確地說,錯誤報告,一條線是特殊的意義:

{MyControls_XE.bpl} StrGrdBase.TBaseStrGrid.FixCursor (Line 569, "StrGrdBase.pas" + 9) + $8 

我導航到該行,我已經看到,在某些情況下,我試圖將焦點設置在第二排,而電網有隻有一行。