2010-11-16 49 views
3

我試圖尋找我的錯誤,閱讀一些主題,但我找不到提示爲什麼會發生。如果有人能夠幫助我至少得到一些關於如何檢查發生的事情的提示,那麼我能夠修復它,這將不勝感激。列表索引超出界限,添加框架delphi

我編寫了一個應用程序,它有幾個bpl鏈接在一起形成可執行文件。
我在同一個項目上有一個窗體和一個框架。當我嘗試將框架添加到窗體時,它給了我一個「列表索引越界」的錯誤。我可以將此項目中的其他框架添加到此窗體中,但我無法將此框架添加到此窗體或其他形式的項目中,但框架已添加到項目中。

預先感謝任何幫助

托馬斯

+0

錯誤信息的* exact *文字是什麼?並且TFrame上的哪些控件不能添加? – 2010-11-16 19:31:23

+0

列表索引超出範圍(-1)。在此之前,我收到一條錯誤消息:「無法找到這些文件,也許他們在不同的項目中」。從我可以引用的信息來看,這個錯誤信息是由CnPack給出的。窗體和框架在同一個項目中,所以我不明白爲什麼這個其他消息顯示出來。 – Thomas 2010-11-16 19:34:20

+0

http://img217.imageshack.us/img217/3826/projecth.png Dataacess控件(dbexpress),編輯,組合,面板,頁面控件,所有原生的delphi組件。我正嘗試在設計中添加表單。 – Thomas 2010-11-16 19:39:26

回答

1

我能夠通過再次刪除框架並將其添加到項目中來解決問題。

感謝您的幫助,Ken和Marjan。

感謝教我如何調試設計時間錯誤,梅森,我甚至不知道這是可能的。它總是很高興學習新事物。

並感謝您的快速響應。

Thomas

3

「列表索引越界(-1)」是一個有趣的錯誤。如果我猜的話,我會說的地方它的執行代碼,看起來像這樣:如果你的控制都包含在BPLs

Index := List.IndexOf(Whatever); 
List.Delete(index); 

,還有你可以跟蹤它在調試器的方式。打開您嘗試放置的框架所在的BPL。以調試模式構建它。然後轉到Run菜單並選擇Parameters...。在Host Application下,點擊瀏覽並找到bds.exe(Delphi IDE本身),然後點擊F9。這將啓動IDE的第二個副本併爲您的BPL加載調試信息。

然後嘗試重現錯誤,並且當發生列表錯誤時,它將作爲任何其他異常處理爲您的第一個Delphi副本,並有機會打破並進入調試器。從那裏你應該能夠很容易地找到問題。

+0

錯誤在設計時發出。我只是得到組件(框架)並將其放在窗體上。對不起,忘了說是在設計時。 – Thomas 2010-11-16 19:47:02

+2

@Thomas:我知道這是在設計時間。我剛剛描述的是如何調試設計時錯誤。 – 2010-11-16 19:50:40