我正在使用 Delphi 2009。我的程序已经编译并运行良好。我使用动作列表并将它们内置到我的程序中——尽管我已经有一段时间没有更改它们了。
所以今天我去简单地以正常方式向我的 ActionList 添加一个新动作。没有做任何其他事情,我现在构建并运行我的程序,我收到以下错误:
[DCC 致命错误] Userface.pas(1): F2092 程序或单元“Userface”递归使用自身。
我没有做任何改变任何使用条款的事情。我找不到任何我的 Userface 单元调用自身或调用另一个调用 Userface 的单元的实例。我将潜在的递归调用放在实施部分,因为它们应该是。
如果我退出 Delphi 而不保存、重建并运行它,它运行良好。如果我再次尝试将新操作添加到操作列表,则会再次发生致命错误。
我不知道发生了什么。我将不胜感激任何帮助弄清楚如何解决这个问题。
编辑:在 Uwe 的回答之后,我再次检查以确保它仍然在发生。果然,我又做了一次,正如我在对 Uwe 的评论中所描述的那样。建好后,又发生了。
...但是,偶然在项目菜单下,我错过了选择“构建”并选择了“编译”。它编译得很好。然后我尝试构建,现在构建正常工作。没有致命错误!对我来说一切似乎都很好。
如果我尝试添加另一个操作然后构建,则会再次出现错误。但是如果我编译,那么我可以成功构建它 - 所以至少我有一个解决方法。
这一定是某种故障。我不知道发生了什么。有谁知道这是什么或为什么会发生?
跟进。正如 Marjan 所说,它可能发生在其他情况下,其中一种情况发生在我身上。因此,它可能与我的问题所要求的添加操作没有直接关系。
尽管如此,到目前为止,这对我来说是一个相对罕见的事情,并且只是变成了一个小烦恼。它可能已经在 Delphi 2010 中修复,我的最终解决方案将是当我下次升级到 Delphi 2011 或 12 时,一旦他们添加了 64 位或多平台。