dcc32错误x.pas(648):E2003未声明的标识符:'x'

时间:2015-07-20 12:27:44

标签: delphi properties indy

所以我尝试将两个属性添加到单元IdMessage.pass中。所以我添加了

  TIdMessage = class(TIdBaseComponent)
  private
    FTaskID: Integer;
    FNotificationID: Integer;
  protected
   ... all protected properties and procedures


  public

   ... all protected procedures and functions

    property TaskID : Integer read FTaskID write FTaskID;
    property NotificationID : Integer read FNotificationID write FNotificationID;

  published

    ...published properties
  End;

单元看起来很好,但是当我尝试编译使用这两个属性的项目时,我得到了未声明的标识符错误。我不知道为什么。如果我在设计时按CTRL + CLICK属性,它会将我带到单元中的属性,但是当我尝试构建或编译它时会遇到此错误。有什么建议?

1 个答案:

答案 0 :(得分:3)

尽管您在评论中说了什么,但您正在修改第三方代码。实际上你正在做一个分叉。编译器错误只是未来麻烦的第一个症状。编译器没有使用您编写的代码。编译器使用的是其他版本。

当然,您可以通过确保编译器使用fork而不是原始代码来使fork工作。但是,你正在为自己做好准备。下次升级Indy时会发生什么?你能将你的分叉合并到新的Indy吗?

如果分叉是最好的解决方案,那就这样吧。但几乎可以肯定的是。我们不知道你的实际问题是什么,但分叉似乎不太可能是最好的前进方式。尝试找到一个允许您不要修改Indy代码的设计。