代码导航在Delphi 2010中的$ IFDEF块内部中断

时间:2012-01-16 18:06:40

标签: delphi delphi-2010 conditional-compilation code-navigation

我的应用程序中有一些有条件编译的类。

{$IFDEF SOME_OPTION}
type
  TMyClass = class
    procedure Foo;
  end;
{$ENDIF}

...

{$IFDEF SOME_OPTION}
procedure TMyClass.Foo;
begin

end;
{$ENDIF}

该选项SOME_OPTION在“项目选项” - “Delphi编译器” - “条件定义”和“项目选项” - “资源编译器” - “目录和条件” - “为此项目定义预处理器符号”中定义

当我尝试按Ctrl +单击他们的方法时,没有任何反应,代码导航不想工作。

我使用Delphi 2010.我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

这是一个错误,它被修复的可能性为零。

/ Warren P

答案 1 :(得分:1)

我认为“项目选项” - “资源编译器”中没有合适的位置......
但在“项目选项” - “ Delphi 编译器” - “条件定义”中。

更新:
我在这里尝试使用Delphi XE,无论是否定义,或者在任何情况下,Ctrl + Click对我来说都不重要。
请注意,我安装了Andreas Hausladen's IDE Fix Pack 4.6.6和DDEv Extension 2.5。 你用它们吗?

更新2:
当处于同一个单元时,它似乎工作,即使未定义SOME_OPTION,不是从另一个单元调用Foo时。
看起来有效的方法是在项目选项中正确定义重建应用程序时(在调用Foo的行上看到蓝点)。然后,IDE可以使用编译器在另一个单元中找到功能源。

这就是我现在所能想到的所有帮助。正如已经说过的那样,它不是IDE最好的部分......

答案 2 :(得分:0)

因为您没有很好地定义编译指令而无法正常工作。必须按照使用IDE 部分中的http://docwiki.embarcadero.com/RADStudio/en/Delphi_compiler_directives所述定义指令。一个好的做法是在条件指令改变后重新编译项目。