我正在使用Delphi 2009.我的程序一直在编译和运行正常。我使用动作列表并将它们内置到我的程序中 - 尽管我在一段时间内没有改变它们。为什么在Delphi中添加Action导致致命错误
因此,今天我只需以正常的方式添加一个新的动作到我的ActionList中。没有做任何事情,我现在建立并运行我的程序,我得到以下错误:
[DCC致命错误] Userface.pas(1):F2092程序或单元'Userface'递归地使用自己。
我没有做任何改变任何使用条款。我找不到任何自己的Userface设备实例,或者调用另一个调用Userface的设备。我应该在实现部分放置潜在的递归调用。
如果我没有保存就退出Delphi,重建并运行它,它运行良好。如果我再次尝试将新操作添加到操作列表中,则会再次发生致命错误。
我不知道发生了什么。我将不胜感激任何帮助,找出如何解决这个问题。
编辑:在Uwe的回答后,我再次检查,以确保它仍然发生。果然,我再次这样做,正如我在向Uwe发表的评论中所描述的那样。建设后,它又发生了。
...但后来,在项目菜单下意外地错过了选择“Build”,而选择了“Compile”。它编译得很好。然后,我尝试构建,现在构建工作正常。没有致命的错误!一切对我来说似乎都很好。
如果我尝试添加另一个动作,然后构建,错误再次出现。但是如果我编译,那么我可以成功构建它 - 至少我有一个解决方法。
这一定是某种毛病。我不知道发生了什么事。有人知道这是什么或为什么可能发生?
跟进。正如马里安所说,它可能发生在其他情况下,而其中一件事发生在我身上。所以这可能与添加一个动作没有直接关系,我的问题就是这样。
无论如何,这是迄今为止比较罕见的事情,只是变成了一个小小的烦恼。它可能已经在Delphi 2010中得到了修复,而我的最终解决方案将是在我下次升级到Delphi 2011或12时添加64位或多平台。
不知道它为什么会发生,但如果它有任何安慰,我也看到它在其他情况下也会发生。修改后立即生成将失败,编译,然后构建会成功。在这些情况下,有时候也有帮助的是在编译/构建之前显式保存全部。我想这可能与IDE中的定时和缓存有关。可能还包括启用代码洞察,错误红衬等的编译线程。 – 2010-08-01 10:30:00
@Marjan:这个评论对我很有帮助。请将其添加为答案,并允许其他人直接对其进行评论,如果没有更好的答案,我可能会给予您答案。 – lkessler 2010-08-01 16:35:27
好的谢谢,完成。 – 2010-08-01 17:37:42