【问题标题】:Why are there errors in my structure viewer pane but not when I compile?为什么我的结构查看器窗格中有错误,但编译时却没有?
【发布时间】:2014-10-08 07:49:12
【问题描述】:

我构建了我的项目,没有错误:

那是因为构建成功且没有任何错误:

这是一件好事。应用程序运行和一切!

除非有错误

编译器没有告诉我的是有错误:

我只是碰巧打开了这个文件。我只是碰巧打开了 Structure 查看器。而我只是碰巧看到了错误。

Delphi 有没有办法报告它在构建过程中遇到的所有错误?

优化了吗?

没有

对于一个简单的单一形式的测试应用程序来说,这没什么大不了的,只有一个错误。但是当我有 200 个表格时,XE6 starts to look as bad a Visual Studio 2012。然后我必须确保手动打开每个代码文件并检查其中是否有任何错误。

有没有办法让 XE6 报告所有错误?

#xe6usability

【问题讨论】:

  • 正如其他人所说:编译器是对的,但IDE有时是错误的。这似乎源于 Error Insight 使用其自己的简化编译器(可能会减少一些角落,并不总是正确),这似乎在从某些单元读取标识符时存在问题。我通常禁用错误洞察。
  • 这个问题在Delphi团队内部已经知道多年了,解决方案是统一的代码洞察,错误洞察,与编译器和所有其他需要解析器的工具共享一个解析器.也许这会出现在未来的一些 Delphi 编译器/IDE 版本中。

标签: delphi delphi-xe6


【解决方案1】:

编译器是正确的。您的代码不包含错误。您有两个同名的函数,但使用 overload 指令声明。

IDE 的 Code Insight 或 Error Insight 或任何被称为功能的功能都将其误报告为错误。这是一个古老的现象。 IDE 使用与实际编译器不同的代码解析器。事实上,如果我没记错的话,它使用了多个这样的 fake 解析器。它们不如真正的好,而且经常会出错。这被认为是轻微的不便,这可能是合理的。我宁愿真正的编译器做对了,而不是反过来。

【讨论】:

  • 我从来不用结构查看器的一个主要原因。老实说,我不明白它为什么在那里。
  • @DavidSchwartz 我一直使用结构视图所有。但那是在它开始显示错误之前。现在它显示了错误的错误,它的用处将减少。
  • 我还是用结构视图。但我禁用了错误洞察。结构和错误洞察显示在同一个窗格中,但它们是不同的东西。
  • @DavidSchwartz:结构查看器之所以存在是因为它非常有用(并且几乎需要在 FMX 应用程序中使用以建立亲子关系)。您可以关闭 Error Insight 以消除显示的大部分(如果不是全部)错误,或者将适当的单元添加到您的项目(项目->添加到项目),这将正确地允许 kibitz 编译器(“假编译器”来解决问题。
【解决方案2】:

简短回答:关闭 ErrorInsight,它不起作用。

点击Tools,Options,在列表中找到Editor Options项,展开,找到Code Insight,点击。然后取消点击错误洞察。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    相关资源
    最近更新 更多