Control + Click on功能在Delphi XE中不起作用

WeG*_*ars 9 delphi delphi-xe delphi-ide

在Delphi 7中,每当我控制+单击一个函数/过程时,它就会将我带到该函数/过程.但它在Delphi XE中不起作用 - 至少在所有功能上都没有.我在ExtUtils.pas中有一个名为Associate的函数.函数被正确编译,因此编译器可以找到ExtUtils.pas(当然,ExtUtils被添加到Uses子句中,它的文件夹被添加到'Library path'中).但是,当我控制+单击功能或单位名称时,它不会带我到那里.

有任何解决这个问题的方法吗?


UPDATE1:另外,Control +单击一个函数(在当前单元中声明)不会将光标移动到声明函数的INTERFACE部分.

UPDATE2:
我临时将ExtUtils单元放在项目的文件夹中,现在它可以工作了.因此,Control + Click本身可以工作,但似乎IDE在查找单元时遇到问题,即使它的文件夹存在于库路径和浏览路径中.

类似的报告:
http
:
//webcache.googleusercontent.com http://webcache.googleusercontent.com http://cc.embarcadero.com/Item/28269
这里有一份报告(见下面的答案)


新测试:
我已完全卸载Delphi(并手动删除文件和注册表剩余部分).然后重新安装.没有安装除CodeSite之外的其他工具,甚至没有安装数据库.然后我创建了一个新项目.它包含一个按钮.当我单击该按钮时,它会运行TestMe过程,该过程在名为TestUnit.Pas的外部PAS文件中定义.我在"库路径"和"浏览路径"中添加了此库的路径.但控制+点击TestMe程序仍然无法正常工作!如果我将鼠标悬停在TestMe过程上,则弹出窗口显示"在TestUnit中声明",其中"TestUnit"字是蓝色链接.如果我点击它我会听到Windows系统声音,但IDE不会把我带到那里(到设备).

TestMe程序是这样的:

procedure TestMe;
begin
  Beep(800, 500);
end;
Run Code Online (Sandbox Code Playgroud)

如果我控制+单击Beep程序,它会转到Windows.pas.所以,这是有效的.如果您考虑到不同的测试,请告诉我.

更新:
现在它的工作原理!没有任何明显的原因!我只是打开和关闭并编译项目.但除了这两个之外,我对Delphi没有任何更改:AutoSave选项 - >编辑器文件和项目选项.

更新:
这不可能!
所以,现在我可以在控制+点击TestMe程序时访问TestUnit.pas文件.因此,我将原始PAS文件(ExtUtils.pas)移动到TestUnit.pas所在的同一文件夹中,该文件不想在我的初始测试(Delphi重新安装之前)中工作.猜猜看:我可以打开(通过控制+点击)TestUnit.pas,但不能打开ExtUtils.pas !!!!
德尔福行为如此奇怪和不一致!

更新:
我编辑了ExtUtils.pas,现在我无法打开AGAIN TestUnit.pas.Ken White不会让我说德尔福可能有错误.所以我不能将'bug'和'Delphi'一起使用.有人可以把这些话放在一起吗?

更新:
我完全删除了对ExtUtils.pas的任何引用 - 所以我将项目恢复到了它的工作点(使用TestUnit).但现在这个bug仍然存在.即使它在使用TestUnit之前几秒钟,它现在再也无法工作了.

更新:
现在我意识到一件重要的事情:在我的源代码中(在测试项目中)我有一行可编译的代码:

procedure TForm1.Button1Click(Sender: TObject);
begin
 TestMe;
end;
Run Code Online (Sandbox Code Playgroud)

此代码不显示蓝点 - 因为它不会被编译.在该计划有效的几分钟内,我看到了蓝点.我还排除了"AutoSave选项 - >编辑器文件和项目选项"作为此问题的可能原因.

更新:
我找到了解决问题的方法......几分钟:我将项目和库移动到另一个文件夹中(任何位置都可以).控件+单击将工作一段时间.如果我将文件放回原始文件夹,它甚至可以工作.因此,似乎Delphi保留了某些文件的某种缓存.只要缓存被破坏并且它保持缓存,控制+点击就赢了;工作.但是当我移动文件时,它必须重新创建该缓存,因此它将一直有效,直到问题重新出现并存储在缓存中.

小智 7

在这里,我们是使用Delphi 2010的5位开发人员和使用XE的2位开发人员,我们遇到了与您一样的Ctrl-click相同的事情.它似乎停止随机工作.我们永远无法找到一种模式或解决方案.所以我们不时会听到来自小隔间的咒骂......

当发生这种情况时,我使用shift-ctrl-F进行搜索.

西尔