2012-04-24 33 views
5

我在組件上,工作在Delphi 7Delphi 2006這裏我使用,我需要添加到文件上的組件自動刪除該項目的單位。 喜歡的方式尤里卡日誌自動添加單元「ExceptionLog」項目文件:自動增加一個單位,該項目

enter image description here

誰能告訴我如何以編程單元添加到項目文件時我任何形式的放棄我成分該項目?

+2

我認爲所有情況下都會自動添加源單元。當然只有當它們被知道時,它們已經被包含到Delphi路徑中(結果是什麼)。 – TLama 2012-04-24 07:28:14

+2

@Tlama,組件單元自動添加到* form *或* data模塊*單元。它們不會自動添加到*項目*中。這是特別的尤里卡日誌自己做的。 – 2012-04-24 13:03:00

+0

@Rob,這是我誤解的下一個問題。我將不得不多加關注。謝謝! – TLama 2012-04-24 13:07:14

回答

6

你最有可能使用Open API的工具爲。

此外它可能需要爲您的組件編寫TSelectionEditor來觸發添加單元(我會嘗試RequiresUnit方法)。

雖然有一個簡單的辦法只有一個單元添加到活動項目(以下代碼)這只是工程活動項目這可能不是形式屬於您要添加的組件項目。它還在使用條款的最後添加了單位。

uses 
    ToolsAPI; 

var 
    currentProject: IOTAProject; 
begin 
    currentProject := GetActiveProject(); 
    currentProject.AddFile('MyUnit.pas', True); 

您可以檢查GExperts source code,因爲它包含一個類(TUsesManager),可以解析的單位和修改使用條款。

+0

我期望'AddFile'會添加一個像'MyUnit.pas''中使用MyUnit這樣的項目,這不適合庫組件。該組件應該添加一個單位引用,而不是文件引用,如問題圖片所示。 – 2012-04-24 13:10:48

+0

@Rob它的確如你所說。這只是一個例子,表明OTA可能會這樣做。但我沒有找到合適的方法。這就是爲什麼我提到GExperts的來源。 – 2012-04-24 13:30:17

+0

+1:提及TUsesManager – menjaraz 2012-04-27 05:40:28

0

奇。

我過去常常把我的默認DPR包含旁邊沒有結果我的工具箱是很空的。因此,如果它在我的工具箱中,它在dpr中 - 你有什麼問題 - 通常如果它在工具箱中,它已經在dpr中。

+0

我的意思是,我的組件需要在'dpr'一個'unit',我不能要求在'user' /繼電器把它there..so我需要在同一 – PresleyDias 2012-04-24 07:28:09

+0

沒有我的德爾福交出拷貝自動化,你當然可以在你應該添加到dpr中的單元中設置一個條件,並且如果它不存在將被添加到.pas文件的其他單元的條件 - 拋出編譯錯誤「請將單元x添加到dpr文件「.. – BugFinder 2012-04-24 07:32:51

0

去項目> Eurekalog選項並禁用Eurekalog。

+5

我想你沒有得到我的問題,我的意思是像尤里卡日誌添加'ExceptionLog'到'dpr'。如何做到這一點 – PresleyDias 2012-04-24 10:35:49