德尔福7级助手的先见之明

时间:2011-06-23 07:59:51

标签: delphi delphi-7 helper reserved-words

今天我碰巧使用Delphi 7编译了一个像这样的类定义的代码

type TAudioStream = class helper of TStream;

,令我惊讶的是,编译器吐出了

“系统单元已过期或已损坏:缺少'TClassHelperBase'”

看起来Delphi7已经保留了helper字的保留用法。

Delphi在Delphi 8中引入了Helper类。它们用于将VCL绑定到.Net。那么,Delphi7是否具有先见之明?

3 个答案:

答案 0 :(得分:4)

我不确定这是否是一个真正的问题。为将来实施保留关键字是一种常见做法。 Delphi 8的路线图和计划的功能应该在Delphi 7的发布日期指定。所以是的,我认为Delphi 7在这种情况下具有先见之明。

答案 1 :(得分:1)

语言设计者保留某些单词以供将来使用是很常见的。例如,classinterface已经成为JavaScript中的保留词......现在已经十年了......即使它们预计不会再用几年了。 goto是Java中的保留字,即使从不期望使用它。

编译器编写者实现将来使用的功能也很常见。例如,泛型已经在Sun的Java 1.2 javac编译器中实现,即使它们在Java 5之前没有添加到语言规范中。

答案 2 :(得分:1)

请记住,Delphi 7包含“.Net预览编译器”。 Delphi 7意识到了一些即将推出的功能,显然,它甚至有点意识到这些功能的实现 - 它足够了解系统单元中的某些事情,并在它们不在时抱怨。