2011-02-18 149 views
2

代碼瀏覽不適用於我的項目。我將搜索路徑設置爲我正在使用的所有源單元。而且我還刪除了.local.identcache文件。我的項目正在編譯沒有問題。我能做些什麼來使ctrl + click工作。CTRL +點擊不起作用

感謝

+0

大衛H.的答案是正確的,但你應該通常理解它。在你的單位中有一些複雜的語法不被支持。我們大多數人只是學會不用Ctrl + Click就能生活,因爲不容易讓它恢復。 – 2011-02-18 20:22:23

回答

4

一個錯誤,我知道,當你有哪些宣佈創紀錄的內嵌類出現的,像這樣:

TMyClass = class 
private 
    FData: record 
    MyData: Integer; 
    end; 
end; 

如果你有這樣的話,很多的IDE的任何代碼代碼洞察/完成/任何功能停止工作。這個錯誤直接回溯到Delphi 6,甚至可能超越。

我有類私有類型聲明修復:

TMyClass = class 
private 
    type 
    TData = record 
     MyData: Integer; 
    end; 
private 
    FData: TData; 
end; 

但如果語法不D2007用,那麼你需要聲明類以外的記錄類型。

我發現的另一個因素可能會混淆IDE是如果你使用了很多條件語句($IFDEF等)。

最後,我建議安裝Andreas Hausladen的IDEFixPack,它可以改善IDE的行爲。

當然,您的問題可能是由其他原因引起的,但是如果您無法使用您的實際代碼進行實驗,則必須進行一定程度的猜測。

+0

感謝您的回覆,但我沒有在我的代碼中使用這樣的聲明 – Bharat 2011-02-18 12:51:04

+0

我已經在使用IDEFixPack – Bharat 2011-02-18 13:00:15

4

按住Ctrl鍵單擊,當您使用條件定義來控制哪些代碼被編譯容易迷糊:

{$IFDEF DEBUG} 
... 
{$ENDIF} 

通常需要一對夫婦的這些,但有時這些單之一,尤其是在接口部分,足以將Ctrl-Click發送到混亂。

當我看到Ctrl-Click不起作用的另一次是當您使用項目組時,編輯器中的單位不屬於項目組當前活動的項目。

0

我在模塊中使用代碼瀏覽時遇到了同樣的問題(在Delphi XE3中)。尋找你的源代碼,找到像這樣的結構:

procedure procName; 
begin 
    if ... then 
    begin 
    ... 
    end else 
end; 

注意最後的「其他」。 編譯器理解這段代碼,但代碼瀏覽不理解。 需要插入「;」在「else」之後或刪除「else」之後。 源代碼糾正後,代碼瀏覽器正在工作。