//要点18: 如果函数在接口区定义了, 就无需用 forward 提前声明了
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
{现在函数定义在接口区(interface)}
function MyFunA(x: Integer): Integer;
function MyFunB(x: Integer): Integer;
implementation
{$R *.dfm}
function MyFunA(x: Integer): Integer;
begin
Result := MyFunB(x) * ; {因为在接口区有了声明, 前面的函数就可以调用后的函数了}
end;
function MyFunB(x: Integer): Integer;
begin
Result := Abs(x);
end;
{调用测试}
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
i := MyFunA(-);
ShowMessage(IntToStr(i)); {9}
end;
end.