dcc32 错误 x.pas(648):E2003 未声明的标识符:'x'
dcc32 Error x.pas(648): E2003 Undeclared identifier: 'x'
所以我尝试向单元 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 属性,它会将我带到单元中的 属性,但是当我尝试构建或编译它时会遇到此错误。有什么建议么?
无论您在评论中怎么说,您都在修改第三方代码。实际上你在做一个叉子。编译器错误只是未来问题的第一个症状。编译器没有使用您编写的代码。编译器正在使用不同的版本。
通过确保编译器使用您的分叉而不是原始代码,您肯定可以使分叉工作。但是,您正在为跌倒做好准备。下次升级 Indy 时,会发生什么?你能把你的分支合并到新的 Indy 中吗?
如果分叉是最好的解决方案,那就这样吧。但几乎可以肯定不是。我们不知道您的实际问题是什么,但分叉似乎不太可能是最好的前进方式。尝试找到一种允许您不修改 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 属性,它会将我带到单元中的 属性,但是当我尝试构建或编译它时会遇到此错误。有什么建议么?
无论您在评论中怎么说,您都在修改第三方代码。实际上你在做一个叉子。编译器错误只是未来问题的第一个症状。编译器没有使用您编写的代码。编译器正在使用不同的版本。
通过确保编译器使用您的分叉而不是原始代码,您肯定可以使分叉工作。但是,您正在为跌倒做好准备。下次升级 Indy 时,会发生什么?你能把你的分支合并到新的 Indy 中吗?
如果分叉是最好的解决方案,那就这样吧。但几乎可以肯定不是。我们不知道您的实际问题是什么,但分叉似乎不太可能是最好的前进方式。尝试找到一种允许您不修改 Indy 代码的设计。