3

我有一个 .pas 文件并且在编程过程中 - 代码完成停止工作。我删除了 IDEFixPack,这是可疑的,但没有任何改变。可以是什么?

(我会回答自己,只是把这个发现留给社区)。

unit Unit2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm2 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

end.

编辑:我怀疑这可能是由奇怪的行尾引起的(通过文件混合 CR、LR 和 CRLF):

unit Unit2;[CR]
[LF]
interface[CR][LF]
[LF]
uses[LF]
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,[CR]
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;[LF]

等等...

4

1 回答 1

6

造成这种情况的一个原因是:行尾字符混合在源文件中。使用 Dos2Unix(批量)或 Notepad++(如果只是一个或几个文件)将其更正为 Windows 行尾 (CRLF),代码完成将返回。现在发生在我身上,让我失去了一个多小时试图找出正在发生的事情。当然,delphi 上的 CC 存在漏洞,这只是原因之一。但却是一个狡猾的人。

于 2013-08-29T20:18:35.787 回答