【发布时间】:2017-05-24 13:23:57
【问题描述】:
我将我的项目从 Delphi 转移到了 Lazarus。在一个表单中,我有一个带有参数var Active: Boolean 的私有方法。在 Delphi 中没问题,但 Lazarus 给出错误 Error: Duplicate identifier "Active" 和 Hint: Identifier already defined in unit FORMS at line 641,在第 641 行有:
property Active: Boolean read FActive;
改参数名不难(通过重构),但是方法的属性和参数为什么不能同名呢?
为了确保不是从 Delphi 自动转换的错误,我在 Lazarus 中创建了新项目并添加了私有方法
procedure Test(var Active: Boolean);
结果是一样的。即使我使用const 或什么都没有代替var。
我查看了 FPC 文档并没有发现任何此类限制。我只是好奇。
【问题讨论】:
标签: delphi lazarus freepascal