向前声明,啃了一下帮助,理解如下: The forward directive has no effect in the interface section of a unit 向前声明在一个单元的interface部分是没有效果的。它应该是定义在implementation部分 当一个函数F1要被另一个函数F2调用时.可以: function F1: Real; forward; 然后地: function F2:Real; begin ... F1; end; 然后就可以在这里实现F1啦 function F1: Real; forward; Begin .... end; 用法大概如上,当然也可以直接F1实现后,再实现F2,F2就可以直接调用F1啦。
The forward directive has no effect in the interface section of a unit
向前声明在一个单元的interface部分是没有效果的。它应该是定义在implementation部分
当一个函数F1要被另一个函数F2调用时.可以:
function F1: Real; forward;
然后地:
function F2:Real;
begin
...
F1;
end;
然后就可以在这里实现F1啦
function F1: Real; forward;
Begin
....
end;
用法大概如上,当然也可以直接F1实现后,再实现F2,F2就可以直接调用F1啦。
我记得类的前想声明不是不需要,而是省略了。
我去查资料
尽管 forward 过程声明在Delphi中不常见,但是有一个类似的情况却经常出现。当你在一个单元的interface 部分声明一个过程或一个函数时,它被认为是一个forward声明,即使没有forward关键字也一样。实际上你不可能把整个例程的代码放在interface 部分,不过你必须在同一单元中提供所声明例程的实现。类内部的方法声明也同样是forward声明,当你给窗体或其组件添加事件时, Delphi会自动产生相应的代码。在TForm 类中声明的事件是forward 声明,事件代码放在单元的实现部分。下面摘录的源代码中有一个Button1Click 方法声明: