![](/img/trans.png)
[英]In Delphi IDE, how to quickly determine the location of an open non-project-related file?
[英]IDE expecting file to be in different location
我在Delphi XE2版本16.0.4429.46931中有一個組件包,它們都是運行時和設計時包。 該軟件包已存在一年多了,文件/文件夾結構始終相同。 我將所有單元保存在根目錄下的專用Source
文件夾中,以及同一根目錄下Packages
文件夾中的實際包。 所以這些包可以在\\Root\\Packages\\
中找到,單位可以在\\Root\\Source\\
。
今天,在構建運行時包后,我正在通過提示和警告。 其中一個警告是:
[DCC Warning] Inno.TimeChart.pas(1): W1025 Unsupported language feature: 'class constructor'
它的自我警告不是讓我擔心的。 問題是當我雙擊此警告時,我從IDE收到一條錯誤消息:
我立即注意到的一件事是它不是在Source
文件夾中查找,而是直接在Packages
文件夾中查找。 不知何故,IDE期望該單元與包位於同一位置。 自從我在一年前創建軟件包以來,我從未更改過任何庫路徑,文件位置或軟件包結構。
該文件確實存在,但位於與其看起來不同的地方。 該文件從未保存在包含項目的文件夾中,實際上除了包項目本身之外沒有其他任何內容保存在Packages
文件夾中。 這一切都存在於Source
文件夾中,但IDE似乎不這么認為。
為什么IDE會認為此文件位於不同的文件夾中? 當我雙擊它們時,與同一單元相關的所有其他提示和警告都可以正常工作,但不是這個。
編輯
我已經創建了一個新的測試包來解決這個問題。
Root\TestPackage.dpr
Root\Source\TestPackageUnit.pas
導致此編譯器警告的特定代碼段位於此類中:
type
TMyComponent = class(TComponent)
strict private
class constructor Create;
end;
當我使用Process Monitor進行編譯時,我看到IDE正在30多個不同的位置搜索此文件(當然是失敗的),它看起來像是在每個庫路徑中搜索,而不是在包中所說的那個位置。
我試過的事情
DPR
和DPROJ
文件之間的這些路徑沒有區別 BDS.exe
; 路徑以TestPackageUnit.pas
DOF
文件(我認為是舊版本) strict private
改為private
甚至public
當delphi搜索路徑列表太長時,我確實遇到了這樣的問題。 我總是可以幫助自己將相關目錄更多地移到前面,即在列表中。
檢查文件是否尚未添加到項目文件(dpr或dpk)。 項目 - 查看源將顯示該文件。
如果不是這種情況,請嘗試在項目中的所有文件中搜索文件名,然后查看出現的情況。
在另一個網站上找到:
還有另一個QC可能與您的問題有關。 http://qc.embarcadero.com/wc/qcmain.aspx?d=87693
轉到項目選項 - > Delphi編譯器 - >輸出C / C ++並在C / C ++輸出文件生成下選擇僅生成DCU。
Dalija Prasnikar
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.