有时候我们需要在一个函数内进行的操作依赖与另外一个函数,在C#中,开发者提供了委托机制,那么在DLEPHI中呢?
其实很简单
下面我么用个简单的例子来说明:
type
AFunctionType = function(value: integer) : integer;//首先你要定义一个类型function AddProc(value: integer) : integer;
begin
Result := IntIn + 10;
end;function SubProc(value: integer) : integer;
begin
Result := IntIn - 10;
end;procedure PassAFunction(var value: integer;
fn : AFunctionType);begin
IntIn := fn(value);
end;procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;begin
i := 10;PassAFunction(i, @AddProc);
ShowMessage(IntToStr(i));PassAFunction(i, @SubProc);
ShowMessage(IntToStr(i));
end;