【问题标题】:Compilation error Problem with 10000 lines pas file in Delphi XEDelphi XE中10000行pas文件的编译错误问题
【发布时间】:2011-03-31 16:12:30
【问题描述】:

我有一个包含 10000 行的单元,过去我已经询问过 question

无论如何,现在的问题是我刚刚从 2009 年迁移到 XE。每次我编译那个单元(或构建我的应用程序)时,我都会收到一个错误:

[DCC 错误] 10000linesuni.pas(452): E2029 ',' 或 ':' 预期但发现标识符 'dxBarLargeButton17'

解决方法是对 pas 文件进行虚拟修改(添加“.”并将其删除)。现在它将正确编译。

这是一个已知问题吗?有人知道解决方法吗?

注意:我在 Delphi 2009 中没有这个问题。

这是你可以看到的代码 452 没什么特别的,只是表单上的一个组件:

BarManagerBar4: TdxBar;
dxBarLargeButton16: TdxBarLargeButton;
dxBarLargeButton17: TdxBarLargeButton;  // This is line 452
dxBarLargeButton18: TdxBarLargeButton;
dxBarLargeButton19: TdxBarLargeButton;
dxBarLargeButton20: TdxBarLargeButton;

【问题讨论】:

  • 你能显示你的 10000linesuni.pas 单元的第 452 行吗?你在检查那个文件的编码吗?
  • 第 452 行的代码是什么?
  • 另一个提示,前段时间我有一个类似的问题,我使用十六进制编辑器来查找无效字符。
  • 我更新了我的问题,添加了代码。
  • 不只是!!!此外,现在我可以在 JEDI VCS 中比较文件的不同版本。在我不能因为我得到一个 CRC 错误之前。我以为他的文件太长了。 Delphi XE 在 2 天内帮助我解决了 2009 年曾经遇到的 2 个问题。非常好。

标签: delphi compiler-errors delphi-xe


【解决方案1】:

user193655,由于我评论中的建议对您有所帮助,我将发布作为答案以帮助将来解决此问题的人。

有时由于源代码中存在无效字符或行尾不匹配(应为 CR/LF),导致一个或多个文件的编译中断。要解决此问题,请使用十六进制编辑器跟踪无效字符并从源文件中删除,或者在行尾的情况下,在记事本中打开文件并保存;这会正确修复行尾。

【讨论】:

  • @Ken 感谢编辑,我个人更喜欢使用十六进制编辑器just to be sure。 :)
  • 不客气。我更喜欢相反的第一。使用 10K 行的源文件,十六进制编辑器需要一段时间;尝试在记事本中打开/保存可能会在一秒钟内修复它。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-16
  • 2010-12-04
  • 2012-12-14
  • 1970-01-01
  • 2011-10-02
  • 2014-03-27
相关资源
最近更新 更多