2010-04-08 76 views
5

这是我的D2006奇怪的行为,因为它有时只发生。我有一个我想调试的项目。我想调试的文件名为'Main.pas'。我有另一个不相关的项目具有相同的单元名称,有时候Debug会提示错误的Main文件,而不是当前项目的Main单元。这发生在我身上与其他具有相同名称的文件。我无法调试,因为调试键不起作用(他们只是不做任何事情)。你是否遇到过同样的问题?我该如何解决它?德尔福调试错误的单位

谢谢。

+0

发生得德尔福2009年对我来说,如果我在哪里单元具有相同名称的两个项目的工作受到影响 - 如果我打开属于其他版本的文件,调试器开始使用其他版本的源代码目录而不是打开项目(dpr)文件的目录。 – mjn 2010-04-09 10:47:06

回答

5

你使用相对路径吗?

如果是的话,我发现它有助于工作目录使用文件 - >打开我的项目目录设置为我的项目目录Ÿ加载的文件。导航和加载显然会设置工作目录,修复您认为正在使用相对于项目的路径的情况,但delphi将它们解释为与IDE的工作目录相关。 尽管先关闭所有其他选项卡,以避免错误。由于delphi编译器是一个dll,它与IDE进行了深入的交互,并可能访问打开哪些文件。 (它可以编译未保存的文件!)

如果不是,它可能是个怪胎次数,但仍然有相同的起源。开发一个习惯来首先关闭其他文件(右键单击选项卡 - >关闭所有其他文件),然后修复工作目录(使用加载单元通过文件打开解决方法)可能会有所帮助。

我有感觉的BDS系列的IDE似乎从比传统的人本多受苦,但在经典的人存在的问题太多。可以像在BDS中使用更多花式opendialog选项一样简单,增加工作目录更改的机会。

更新也只有打开项目时,没有其他项目打开帮助。因此,在打开新文件之前,请始终单击旧项目,并且如果IDE已打开且装入了另一个项目,则不要单击Windows资源管理器中的项目。

德尔福XE仍然从这个

+0

我相信这是绝对正确的。现在当我打开一个不相关的文件,我从来没有使用文件,打开...我将文件从资源管理器拖到delphi或让资源管理器决定如何打开文件。 – 2010-04-08 21:25:37

+0

+1。我在D2006的日子里发现了文件 - >打开技巧,并习惯了它。我曾经困扰过在D2007中检查它是否仍然有必要。 – 2010-04-09 09:18:55

+0

我仍然需要它在D2009 – 2010-06-06 12:09:31

0

看看该项目的输出和DCU目录。你可能从共享的DCU目录中选取一个旧的DCU。清除DCU并重新构建。

1

我遇到了,太多了,现在我倾向于给文件的唯一名称,等代替Main.pas,它可能是ProjectNameMain.pas

检查的环境选项

你的库路径和浏览路径
+0

如果使用此项目作为起点,一个新的(或平行)的项目,所有的文件需要重命名:P - 想象一下,怎么会是有SysUtils50,SysUtils60,SysUtils70等在RTL,并与每一个新的Delphi版本开发人员需要修复所有对RTL单元名称的引用:) – mjn 2010-04-09 10:44:36