2010-12-23 95 views
14

我有一個TMyForm繼承了一些形式(TMyForm是源代碼形式的3rdParty組件)德爾福:如何擺脫TMyForm的祖先的」未找到錯誤「

當我在IDE中打開我的。從TMyForm繼承形式,我有:

錯誤創建表單:祖先爲 「TMyForm」未找到

解決方法是在IDE中打開TMyForm單元,然後試圖頂開我的inher形式。

但是我怎麼能避免Delphi給出這個錯誤,並且能夠打開我的表格,即使TMyForm沒有在IDE中打開?

回答

14

您必須在IDE中打開或添加到項目中的父窗體,有沒有解決辦法,很遺憾。在這裏:Register custom form so I can inherit from it from multiple projects, without copying the form to the Object Repository folder我嘗試了很多很多東西,但沒有成功。

+0

在我的情況下,我有一個單一的項目,所以我添加到dpr,它工作正常。謝謝。 – LaBracca 2010-12-23 14:11:34

+0

您可以編寫一個IDE專家,查看正在打開的文件,並在正確的文件中首先打開父窗體。我已經使用這個,它的工作原理。 – 2010-12-24 10:16:25

2

我的解決方法。有幾種方法:

  • 添加到項目的所有父窗體的完整路徑。不舒服,因爲絕對路徑
  • 將包含父窗體的包添加到項目列表中。在這種情況下,那裏沒有問題。但每次有必要在delphi環境中打開組件 。
  • 使用embarcadero的臨時解決方案。

有自動打開所有的子窗體:

票,被創造大約10年前:http://qc.embarcadero.com/wc/qcmain.aspx?d=8376

在這裏,您可以下載版本爲Delphi XE2:https://bitbucket.org/hemn/autoopenunit

我建議它!