这是我的 D2006 的一个奇怪行为,因为它有时只会发生。我有一个要调试的项目。我要调试的文件名为“Main.pas”。我有另一个具有相同单元名称的不相关项目,有时调试提示我错误的主文件而不是当前项目中的主单元。这发生在我的其他同名文件中。我无法调试,因为调试键不起作用(它们只是不做任何事情)。您是否遇到过同样的问题?我该如何解决?
谢谢。
这是我的 D2006 的一个奇怪行为,因为它有时只会发生。我有一个要调试的项目。我要调试的文件名为“Main.pas”。我有另一个具有相同单元名称的不相关项目,有时调试提示我错误的主文件而不是当前项目中的主单元。这发生在我的其他同名文件中。我无法调试,因为调试键不起作用(它们只是不做任何事情)。您是否遇到过同样的问题?我该如何解决?
谢谢。
你使用相对路径吗?
如果是,我发现将工作目录设置为我的项目目录 y 使用 File->Open 从我的项目目录加载文件会有所帮助。导航和加载显然设置了工作目录,修复了您认为使用相对于项目的路径的情况,但 delphi 将它们解释为相对于 IDE 的工作目录。不过,请先关闭所有其他选项卡,以免出错。由于 delphi 编译器是一个 dll,它与 IDE 进行深度交互,并且可能可以访问打开了哪些文件。(它可以编译未保存的文件!)
如果不是,它可能会发生异常,但仍然具有相同的起源。养成首先关闭其他文件的习惯(右键单击选项卡->关闭所有其他文件)并固定工作目录(通过文件打开解决方法使用加载单元)可能会有所帮助。
我感觉BDS系列IDE似乎比经典IDE更受此困扰,但经典IDE也存在问题。可以像在 BDS 中使用更多花哨的 opendialog 选项一样简单,从而增加工作目录更改的机会。
更新也只有在没有其他项目打开时才打开项目有帮助。因此,在打开新项目之前始终单击旧项目,如果 IDE 打开并加载了另一个项目,则不要单击 Windows 资源管理器中的项目。
Delphi XE 仍然受此困扰
我也遇到过这种情况,现在我倾向于给文件起唯一的名称,比如代替 Main.pas,它可能是 ProjectNameMain.pas
检查环境选项中的库路径和浏览路径
查看项目的输出和 DCU 目录。您可能正在从共享的 DCU 目录中获取旧的 DCU。清除 DCU 并重新构建。