在Delphi中添加单位或新表单会导致访问冲突

时间:2018-09-26 12:05:54

标签: delphi delphi-10.1-berlin delphi-10.2-tokyo

当我向Delphi项目中添加文件或表单时,经常会遇到访问冲突。然后,我必须重新启动Delphi,打开项目,然后重试。然后它有时会起作用,有时会出现相同的访问冲突。自XE8以来,所有Delphi版本都存在这个问题。

其他Delphi程序员似乎也遇到了同样的问题,如Embarcadero社区中的问题:https://community.embarcadero.com/forum/programming/9387-creating-a-new-unit-or-new-form-in-delphi-10-2-3-causes-access-violation

有人说这是由第三方库引起的。我不信。当您查看stacktrace时,没有第三方库。

要复制:

  • 在较大的项目中工作,并在添加单元之前进行一些代码更改。
  • 添加新的单位/表单:File> New> Unit-或使用拖放或“将文件添加到项目”添加现有文件-或从项目中删除文件。

1 个答案:

答案 0 :(得分:2)

我联系了Embarcadero。他们知道此问题,并回答如下:

  

由于某些Castalia代码的缘故,自XE8以来,这些代码已在Delphi中合并。只能减少此问题,因此它的发生频率会降低。使用:工具-选项-编辑器选项-颜色-结构突出显示并切换一切都关闭了。

     

查看代码如何集成到IDE中,这可以减少编辑器的解析和重绘。无论如何,导致访问冲突的处理程序仍附加到编辑器。

     

因此,基本上,我们将不得不等待将其在10.3版中修复

但是不久之后,我发现访问冲突仅在您关闭了项目的“ dpr文件”时才会发生。因此,一种解决方法:

不要关闭dpr文件,并且不会出现访问冲突