两天前,当我最近的 Lazarus Pascal 项目开始发出一个奇怪的 CIRCULAR REFERENCE 错误时,我感到很困惑。
我现在已经删除了项目的所有元素,并且只打开了 LPR 文件。当我按 F9 编译并运行时,我看到了同样的错误。所以我怀疑有一些旧的输出文件搞砸了。
如何识别和删除它们以便我的项目能够编译?
我正在使用带有 Lazarus 1.0.10 + PostgreSQL 的 Ubuntu 12.04
太感谢了!
编辑:2013-11-02
我刚从海啸中回来!我尝试了很多东西,最后格式化了我的操作系统并重新回来。新项目运行良好。但是我有问题的旧项目仍然是一样的。它触发循环引用错误:
stdctrls.pp(9,52) Fatal: Circular unit reference between StdCtrls and LCLIntf
有趣的是,这条线是空白的。前后都有评论。我关心的是为什么?我没有在我的代码中的任何地方使用 LCLIntf。
编辑:2013-11-03
我注意到一件奇怪的事情。我有一个项目的 LPS 文件。它有一些引用 StdCtrls 的条目。然后我将项目选项更改为不使用会话文件。相反,它仅使用 LPI 文件。但是现在我在我的 LPI 文件中找到了相同的 StdCtrls 条目。我不知道为什么会这样。我打开了引用 StdCtrls 的 LPI 文件条目(甚至删除了备份文件)。但是每次我在拉撒路打开它时,条目又回到了那里。
这是我找到并删除的条目。
<Unit29>
<Filename Value="/usr/share/lazarus/1.0.12/lcl/stdctrls.pp"/>
<UnitName Value="StdCtrls"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="52" Y="9"/>
<UsageCount Value="10"/>
</Unit29>
我坚信这是导致循环引用错误的原因。
关于如何摆脱这个并修复我的项目的任何想法?
谢谢!