Delphi调试错误的单元

Delphi调试错误的单元,delphi,delphi-2006,Delphi,Delphi 2006,对于我的D2006来说,这是一种奇怪的行为,因为它只是偶尔发生。我有一个项目要调试。我要调试的文件名为“Main.pas”。我有另一个具有相同单元名称的无关项目,有时调试程序会提示我错误的主文件,而不是当前项目中的主单元。这发生在我身上,与其他同名文件一起使用。我无法调试,因为调试键不工作(它们什么都不做)。你也经历过同样的问题吗?我怎样才能修好它 谢谢。查看项目的输出和DCU目录。您可能正在从共享DCU目录中拾取旧DCU。清除DCU并重新构建。我也遇到过这种情况,现在我倾向于为文件指定唯一的名

对于我的D2006来说,这是一种奇怪的行为,因为它只是偶尔发生。我有一个项目要调试。我要调试的文件名为“Main.pas”。我有另一个具有相同单元名称的无关项目,有时调试程序会提示我错误的主文件,而不是当前项目中的主单元。这发生在我身上,与其他同名文件一起使用。我无法调试,因为调试键不工作(它们什么都不做)。你也经历过同样的问题吗?我怎样才能修好它


谢谢。

查看项目的输出和DCU目录。您可能正在从共享DCU目录中拾取旧DCU。清除DCU并重新构建。

我也遇到过这种情况,现在我倾向于为文件指定唯一的名称,比如代替Main.pas,它可能是ProjectNameMain.pas


在环境选项中检查库路径和浏览路径

是否使用相对路径

如果是,我发现将工作目录设置为我的项目目录有帮助,可以使用文件->打开从我的项目目录加载文件。导航和加载明显地设置了工作目录,修复了您认为使用的是相对于项目的路径,而delphi是相对于IDE的工作目录来解释这些路径的情况。 但要避免出错,请先关闭所有其他选项卡。由于delphi编译器是一个dll,它与IDE进行深入的交互,并且可能有权访问打开的文件。(它可以编译未保存的文件!)

如果不是,这可能是一种反常的现象,但仍然有相同的起源。养成先关闭其他文件的习惯(右键单击tab->关闭所有其他文件),然后修复工作目录(通过文件打开解决方案使用加载单元)可能会有所帮助

我觉得BDS系列IDE似乎比经典IDE更容易受到这种影响,但经典IDE也存在这个问题。可以简单到在BDS中使用更奇特的opendialog选项,增加工作目录更改的机会

更新仅在没有其他项目打开时才打开项目。因此,在打开新项目之前,请始终单击旧项目,如果IDE打开时加载了另一个项目,则不要单击windows资源管理器中的项目


德尔福XE仍然受到这一问题的困扰

我相信这是绝对正确的。现在,当我打开一个不相关的文件时,我从不使用file,open…我将文件从explorer拖到delphi,或者让explorer决定如何打开文件。+1。我在2006年2月发现了文件->打开技巧,并习惯了它。我从来没有费心去检查在D2007中是否仍然有必要。对不起,我不明白这个答案。我们应该做些什么来避免这个问题,如果它真的发生了,我们可以做些什么来解决它?我发现唯一可以修复的方法是重命名“错误”文件夹。注意到的问题是BDS IDE的工作目录与项目目录不匹配。解决方案是使用“文件打开”对话框从项目目录加载任何文件。这将重置工作目录。由于相对部分是相对于工作目录的(尽管这被认为与项目目录相同),在具有相对路径的项目中,您会很快注意到这一点。谢谢,Marco。那对我不起作用。我一定有另一个问题。我把同一个项目检查了两次,并排坐着。如果我按ctrl键单击一个标识符,Delphi将从另一个项目打开该单元。如果您将此项目用作新(或并行)项目的起点,则所有文件都需要重命名:P-想象一下RTL中包含SysUtils50、SysUtils60、SysUtils70等的情况,对于每个新的Delphi版本,开发人员都需要修复对RTL单元名称的所有引用:)对于我来说,在Delphi 2009中也会发生这种情况,如果我在两个项目中使用相同的单元名称-如果我打开一个属于另一个版本的文件,调试器将开始使用其他版本的源目录,而不是打开的项目的目录(dpr)文件。